본문 바로가기
프로그래밍/TSQL

[MSSQL]MSSQL LIKE절 대괄호 검색 방법('[',']')

by 정리 습관(★arranging★) 2021. 1. 19.
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 '[[]일괄치료][[]일괄치료]%';

댓글