728x90
MSSQL LIKE절 대괄호 검색 방법
MSSQL 의 LIKE 절에 '[', ']' 문자는 와일드카드로 사용 됩니다.
해당 문자를 LIKE 절에서 검색하고 싶을 때는
아래와 같이 검색 가능합니다.
EX) '[일괄치료][일괄치료]' 로 시작되는 패턴을 찾는다.
1. WHERE COMMENT LIKE '\[일괄치료]\[일괄치료]%' ESCAPE '\'
2. WHERE COMMENT LIKE '[[]일괄치료][[][일괄치료]%'
SELECT *
FROM TEST.DBO.테이블
WHERE COMMENT LIKE '\[일괄치료]\[일괄치료]%' ESCAPE '\'
SELECT *
FROM TEST.DBO.테이블
WHERE COMMENT LIKE '[[]일괄치료][[][일괄치료]%'
798631 [일괄치료][일괄치료][일괄치료][일괄치료][일괄치료]가
798655 [일괄치료][일괄치료][일괄치료][일괄치료][일괄치료]나
798779 [일괄치료][일괄치료][일괄치료][일괄치료][일괄치료]다
798871 [일괄치료][일괄치료][일괄치료][일괄치료][일괄치료]라
해당 데이터를 찾아서 업데이트 하고 다시 확인하는 것까지 공유드립니다.
--'[일괄치료][일괄치료]' 로 시작되는 패턴을 찾는다.
--'[일괄치료][일괄치료]' 로 시작되는 패턴을 '[일괄치료]' 로 바꾼다
--'[일괄치료][일괄치료]' 로 시작되는 패턴을 확인
--'[일괄치료][일괄치료]' 로 시작되는 패턴을 찾는다.
SELECT J_ID,COMMENT
INTO TEST.DBO.대상
FROM DBO.테이블
WHERE COMMENT LIKE '[[]일괄치료][[]일괄치료]%';
--'[일괄치료][일괄치료]' 로 시작되는 패턴을 '[일괄치료]' 로 바꾼다
SELECT J_ID,'[일괄치료]'+REPLACE(COMMENT,'[일괄치료]','') AS COMMENT
INTO TEST.DBO.대상_치료
FROM TEST.DBO.테이블;
UPDATE A
SET A.COMMENT = B.COMMENT
FROM DBO.테이블 A CROSS APPLY ( SELECT * FROM TEST.DBO.대상_치료 B WHERE A.J_ID = B.J_ID) B;
--'[일괄치료][일괄치료]' 로 시작되는 패턴을 확인
SELECT J_ID,COMMENT
INTO TEST.DBO.대상
FROM DBO.테이블
WHERE COMMENT LIKE '[[]일괄치료][[]일괄치료]%';
'프로그래밍 > TSQL' 카테고리의 다른 글
[MSSQL] MYSQL을 연결된 서버로 추가하기 (0) | 2021.01.26 |
---|---|
[MSSQL] 숫자 '0'으로 채우기(How to show leading zeroes in MSSQL) (0) | 2021.01.20 |
[Mysql] mysql_config_editor 사용법과 버전차이 극복 팁 모음 (0) | 2021.01.14 |
[MSSQL] 공간인덱스 중복, 조각화 자동화 (0) | 2021.01.14 |
[MSSQL] FLOAT를 문자열로 바꾸기 (1) | 2021.01.06 |
댓글