MySQL의 NO_BACKSLASH_ESCAPES 모드에서 리터럴 백분율 및 밑줄 문자를 이스케이프하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-26 19:56:12
원래의
783명이 탐색했습니다.

How to Escape Literal Percent and Underscore Characters in MySQL's NO_BACKSLASH_ESCAPES Mode?

MySQL의 NO_BACKSLASH_ESCAPES 모드에서 리터럴 백분율 및 밑줄 문자 이스케이프

MySQL에서 NO_BACKSLASH_ESCAPES 모드는 이스케이프 기능으로 기존 백슬래시 문자()를 비활성화합니다. LIKE 쿼리 내의 메커니즘. 이 모드에서는 리터럴 퍼센트(%) 및 밑줄(_) 문자를 이스케이프하려고 할 때 문제가 발생합니다.

표준 이스케이프 방법

에서 퍼센트 문자를 이스케이프하는 표준 방법입니다. LIKE 쿼리는 앞에 백슬래시()를 붙여야 합니다. 그러나 NO_BACKSLASH_ESCAPES 모드에서는 이 방법이 작동하지 않습니다.

이스케이프 문자 대체

백슬래시를 사용하지 않고 리터럴 문자를 이스케이프하려면 다음을 사용하여 대체 이스케이프 문자를 지정할 수 있습니다. ESCAPE 키워드. 예:

SELECT * FROM mytable
WHERE mycol LIKE '5\% off' ESCAPE '\';
로그인 후 복사

버전 독립적 이스케이프

NO_BACKSLASH_ESCAPES 모드 설정에 관계없이 작동하는 쿼리를 생성하려면 다른 이스케이프 문자를 사용할 수 있습니다. 예를 들어 파이프 문자(|)는 이스케이프 문자로 정의될 수 있습니다.

SELECT * FROM mytable
WHERE mycol LIKE '5|% off' ESCAPE '|';
로그인 후 복사

대체 이스케이프 문자를 지정하면 NO_BACKSLASH_ESCAPES 모드에서도 리터럴 % 및 _ 문자를 효과적으로 이스케이프할 수 있습니다. 이를 통해 다양한 MySQL 구성에서 안정적으로 작동하는 LIKE 쿼리를 생성할 수 있습니다.

위 내용은 MySQL의 NO_BACKSLASH_ESCAPES 모드에서 리터럴 백분율 및 밑줄 문자를 이스케이프하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿