집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 NO_BACKSLASH_ESCAPES 모드에서 리터럴 백분율 기호를 탈출하는 방법은 무엇입니까?
NO_BACKSLASH_ESCAPES MySQL 모드에서 리터럴 백분율 로그인 이스케이프
MySQL의 NO_BACKSLASH_ESCAPES 모드에서 일반적인 방법(%)을 사용하여 % 문자를 이스케이프하는 것은 불가능합니다. 인식. 이는 리터럴 백분율 기호가 포함된 LIKE 쿼리를 수행할 때 문제가 될 수 있습니다.
이 모드에서 리터럴 % 또는 _를 이스케이프하려면 LIKE 키워드 뒤에 이스케이프 문자를 지정해야 합니다. 이를 위한 구문은 다음과 같습니다.
SELECT * FROM table_name WHERE column_name LIKE 'pattern_with_escaped_character' escape 'escape_character';
예를 들어 다음 값이 있는 테이블을 생각해 보세요.
리터럴 "% off"가 포함된 모든 행을 검색하려면 다음 쿼리를 사용할 수 있습니다. 사용됨:
SELECT * FROM mytable WHERE mycol LIKE '5\% off' escape '\';
이스케이프 문자는 백슬래시()와 그 뒤에 리터럴 백분율 기호가 있다는 점에 유의하세요.
또는 NO_BACKSLASH_ESCAPES 모드에 관계없이 작동하는 쿼리를 생성하려면 다른 이스케이프 문자를 사용할 수 있습니다. 예:
SELECT * FROM mytable WHERE mycol LIKE '5|% off' escape '|';
이 경우 파이프 문자(|)가 이스케이프 문자로 사용됩니다. 이스케이프 문자를 지정하면 기본 백슬래시 기반 이스케이프 메커니즘을 회피하고 원하는 결과를 얻을 수 있습니다.
위 내용은 MySQL의 NO_BACKSLASH_ESCAPES 모드에서 리터럴 백분율 기호를 탈출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!