programing

NO_BACKSLASH_ESCAPES 옵션이 활성화 되어 있을 때 리터럴 퍼센트 부호를 이스케이프하려면 어떻게 해야 합니까?

bestcode 2022. 9. 30. 11:13
반응형

NO_BACKSLASH_ESCAPES 옵션이 활성화 되어 있을 때 리터럴 퍼센트 부호를 이스케이프하려면 어떻게 해야 합니까?

저희 회사는 MySQL을 NO_BACKSLASH_ESCAPES 모드로 운영하고 있습니다.어떻게 하면 문자 그대로를 벗어날 수 있을까?%또는_이 모드에서 LIKE 쿼리로요?표준적인 방법은\%단, 이 모드에서는 동작하지 않습니다.

예: 열에는 다음 값이 있습니다.5% off,50% off다음 쿼리는 표준 모드에서는 동작하지만 NO_BACKSLASH_ESCAPES 모드에서는 동작하지 않습니다.

SELECT * FROM mytable
WHERE mycol LIKE '5\% off'

넌 탈출이 필요해

select * from mytable
where mycol like '5\% off' escape '\';

NO_BACKSLASH_ESCAPES 모드에 관계없이 작동하는 버전에서는 파이프와 같은 다른 문자를 사용할 수 있습니다.

select * from mytable
where mycol like '5|% off' escape '|';

언급URL : https://stackoverflow.com/questions/5020130/how-to-escape-literal-percent-sign-when-no-backslash-escapes-option-is-enabled

반응형