MySQL의 LIKE 연산자를 사용하여 슬래시를 검색할 때 이중 백슬래시가 필요한 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-02 19:20:02
원래의
991명이 탐색했습니다.

Why Do I Need Double Backslashes When Searching for a Slash Using MySQL's LIKE Operator?

검색어에 대한 MySQL 이스케이프 시퀀스 이해

MySQL에서는 WHERE 절을 사용하여 슬래시 문자()를 검색할 때 사용된 연산자에 따라 이스케이프 시퀀스의 필요성이 다릅니다.

등호(=) 연산자가 있는 WHERE 절

등호(=) 연산자의 경우 추가 이스케이프가 없습니다. 순서가 필요합니다. 다음 쿼리는 제목에 슬래시 문자가 포함된 레코드를 올바르게 찾습니다.

<code class="sql">SELECT * FROM `titles` WHERE title = 'test\'</code>
로그인 후 복사

이는 비교를 실행하기 전에 백슬래시가 MySQL에 의해 내부적으로 이스케이프되기 때문입니다.

WHERE LIKE 연산자가 포함된 절

단, LIKE 연산자를 사용할 경우 백슬래시에 대한 추가 이스케이프 시퀀스가 ​​필요합니다. 이는 LIKE 연산자가 다른 백슬래시를 이스케이프하는 데 두 개의 백슬래시가 사용되는 C 이스케이프 구문을 따르기 때문입니다. 따라서 LIKE를 사용하여 슬래시 문자를 검색하려면 다음 구문을 사용해야 합니다.

<code class="sql">SELECT * FROM `titles` WHERE title LIKE 'test\\'</code>
로그인 후 복사

기본 이스케이프 문자

기본적으로 백슬래시() LIKE 표현식에서 이스케이프 문자로 사용됩니다. ESCAPE 절을 사용하여 다른 이스케이프 문자를 지정하면 이를 변경할 수 있습니다. 예를 들어 다음 쿼리는 파이프 문자(|)를 이스케이프 문자로 사용합니다.

<code class="sql">SELECT * FROM `titles` WHERE title LIKE 'test\' ESCAPE '|'</code>
로그인 후 복사

위 내용은 MySQL의 LIKE 연산자를 사용하여 슬래시를 검색할 때 이중 백슬래시가 필요한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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