이전 글에서는 LIKE 함수와 다중 LIKE함수은 REGEXP_LIKE 에 대해 알아보았는데요...
LIKE 함수로 특수문자가 포함된 컬럼값을 찾고 싶다면?
1. 특수문자의 아스키 값으로 찾을 수 있습니다!
특수문자 | 아스키값 |
탭 | CHR(9) |
라인피드 | CHR(10) |
캐리지리턴 | CHR(13) |
, | CHR(44) |
' | CHR(39) |
& | CHR(38) |
▶ 탭이 포함된 컬럼값들이 출력됩니다.
SELECT cust_name
FROM tbl_cust
WHERE cust_nameLIKE '%' || CHR(9) || '%' ;
▶ 엔터값이 포함된 컬럼값들이 출력됩니다.
SELECT cust_name
FROM tbl_cust
WHERE cust_nameLIKE '%' || CHR(13) || CHR(10) || '%' ;
2. LIKE 함수에 ESCAPE 조건을 주어 찾을 수 있습니다!
▶ ESCAPE에서 지정한 문자인 '@' 뒤에 나오는 '%' 를 문자로 인식하여 검색합니다.
ESCAPE 문자는 @ 뿐 아니라 $, \ 등 원하는 특수문자로 지정할 수 있습니다.
SELECT cust_name
FROM tbl_cust
WHERE cust_nameLIKE '%@%%' ESCAPE '@';
▶ 이번엔 ESCAPE 문자를 \로 지정했고, '_'를 문자로 인식하여 검색합니다.
SELECT cust_name
FROM tbl_cust
WHERE cust_nameLIKE '%\_%' ESCAPE '\' ;