[SQL] 특수문자의 이스케이프 처리방법

2022. 8. 24. 19:59DB/쿼리

728x90

[SQL작성시 이스케이프 처리 방법]

\(백슬래시)를 사용하여 특수문자의 이스케이프를 처리 

 

이스케이프 처리가 필요한 특수 문자

특수문자 이스케이프 처리를 안했을 경우
 
* 와일드 카드 문자로 사용
@ 쿼리의 첫 번째 문자일 경우 구문 오류가 생성됨.
xmlxp  표현식에서는 속성을 참조할 때 사용됨.
[] xmlxp 표현식에서 요소 및 속성의 컨텐츠를 검색할 때 사용됨.
{} 구문오류 발생.
\  
^(캐럿) 가중치(부스팅) 용어에 사용됨.
: 필드의 콘텐츠에서 검색할 때 사용됨.
= 구문 오류를 생성
! 쿼리의 첫번째 문자일 경우 구문오류 발생.
/ xmlxp 표현식에서 슬래시가 요소 경로 구분자로 사용됨.
> , < xmlxp 표현식에서 속성 값을 비교시 사용됨. 
- 용어의 첫 번째 문자인 경우 용어를 포함하지 않는 문서만 리턴됨.
() 그룹화하는데 사용됨.
% LIKE술어 검색시 패턴 검색 용도로 사용됨.
검색용어가 선택사항임을 지정함.
+  
? 와일드 카드 문자로 처리됨
;  
' 문자열을 묶는 역할.
\(백슬래시)대신 ''('두번사용)도 가능함.
ex) SELECT * FROM (SELECT 'IT''s' i, 'TT' t FROM dual UNION ALL SELECT 'Is' i, 'TT' t FROM dual) aa WHERE i = 'IT''s';
~ 근접 및 퍼지 검색 연산자로 처리됨
|  

 

이스케이프 처리가 필요하지 않은 특수 문자

특수문자
,
$
.
#
_

 

 

출처 : https://www.ibm.com/docs/ko/db2/11.1?topic=characters-escaping-special 

 

특수 문자의 이스케이프 처리

쿼리 구문에서 특수 문자가 다르게 작용할 수 있습니다. 쿼리 구문에서 특수 기능을 갖는 특수 문자를 검색하려면 특수 문자 앞에 백슬래시를 추가하여 특수 문자를 이스케이프 처리해야 합니

www.ibm.com

 

728x90