>데이터 베이스 >MySQL 튜토리얼 >MySQL의 NO_BACKSLASH_ESCAPES 모드에서 리터럴 백분율 기호를 탈출하는 방법은 무엇입니까?

MySQL의 NO_BACKSLASH_ESCAPES 모드에서 리터럴 백분율 기호를 탈출하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-25 14:09:12438검색

How to Escape Literal Percent Signs in MySQL's NO_BACKSLASH_ESCAPES Mode?

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';

예를 들어 다음 값이 있는 테이블을 생각해 보세요.

  • 5% 할인
  • 50% 할인

리터럴 "% 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.