[sql-server] T-SQL에서 백분율 기호를 어떻게 이스케이프합니까?

질문에도 답 이 있지만 DB2를 구체적으로 언급합니다.

이미 퍼센트 기호 가있는 문자열 을 어떻게 검색 합니까? 연산자 사용 된 심볼은 와일드 카드를 의미한다.LIKE%LIKE%



답변

대괄호를 사용하십시오. 75 %를 찾으면

WHERE MyCol LIKE '%75[%]%'

이것은 ESCAPE보다 간단하며 대부분의 RDBMS에 공통입니다.


답변

ESCAPE와 함께 키워드를 사용할 수 있습니다 LIKE. %문자열 에있는 기존의 각 부호 앞에 원하는 문자 (예 : ‘!’)를 추가 한 다음 ESCAPE '!'쿼리 끝에 추가하십시오 (또는 선택한 문자).

예를 들면 다음과 같습니다.

SELECT *
FROM prices
WHERE discount LIKE '%80!% off%'
ESCAPE '!'

이렇게하면 데이터베이스가 80 %를 검색 할 문자열의 실제 부분으로 간주하고 80 (와일드 카드)으로 처리하지 않습니다.

에 대한 MSDN 문서 LIKE


답변

WHERE column_name LIKE '%save 50[%] off!%'


답변

MySQL 에서는

WHERE column_name LIKE '%|%%' ESCAPE '|'


답변