>백엔드 개발 >PHP 튜토리얼 >MySQL의 WHERE 절에서 슬래시(/)를 쿼리하는 방법은 무엇입니까?

MySQL의 WHERE 절에서 슬래시(/)를 쿼리하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-02 03:06:02380검색

How to Query for Forward Slashes (/) in MySQL's WHERE Clause?

MySQL에서 슬래시() 쿼리

MySQL의 WHERE 절을 사용하여 슬래시()를 쿼리할 때 두 가지 서로 다른 시나리오가 발생합니다. : 등호(=) 연산자를 사용하는 경우 및 LIKE를 사용하는 경우

= 연산자의 이스케이프

= 연산자의 경우 추가 이스케이프가 필요하지 않습니다. MySQL은 비교되는 값의 무결성을 유지하기 위해 자동으로 이를 이스케이프합니다. 예제 쿼리에서 (SELECT * FROM titles where title = 'test')는 예상대로 제목이 'test'인 레코드를 반환합니다.

Escaping for LIKE Operator

반대로 LIKE 연산자는 이스케이프를 위한 특수 문자로 해석되므로 슬래시()의 이중 이스케이프가 필요합니다. LIKE 절에서 단일 항목을 검색하려면 대신 로 지정해야 합니다. 이는 MySQL이 백슬래시를 두 번 제거하기 때문입니다. 구문 분석 중에 한 번, 패턴 일치 중에 한 번.

예제 쿼리에서 (SELECT * FROM titles where title LIKE 'test\')는 제목이 'test'인 레코드를 반환합니다. ', 이중 백슬래시()는 처리 중 제거를 보상하기 때문입니다.

이스케이프 변경 문자

원하는 경우 ESCAPE 키워드를 사용하여 LIKE에 대한 이스케이프 문자를 사용자 정의할 수 있습니다. 예를 들어 다음과 같이 지정할 수 있습니다.

SELECT * FROM `titles` WHERE title LIKE 'test\' ESCAPE '|'

이 경우 파이프(|)는 기본 백슬래시() 대신 이스케이프 문자로 사용됩니다. 이를 통해 이중 이스케이프를 수행하지 않고도 LIKE 쿼리에 사용할 수 있습니다.

위 내용은 MySQL의 WHERE 절에서 슬래시(/)를 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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