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