프로그래밍/TSQL
[MSSQL]MSSQL LIKE절 대괄호 검색 방법('[',']')
정리 습관(★arranging★)
2021. 1. 19. 15:56
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 '[[]일괄치료][[]일괄치료]%';