MySQL의 WHERE 절을 사용하여 슬래시()를 쿼리할 때 두 가지 서로 다른 시나리오가 발생합니다. : 등호(=) 연산자를 사용하는 경우 및 LIKE를 사용하는 경우
= 연산자의 경우 추가 이스케이프가 필요하지 않습니다. MySQL은 비교되는 값의 무결성을 유지하기 위해 자동으로 이를 이스케이프합니다. 예제 쿼리에서 (SELECT * FROM titles where title = 'test')는 예상대로 제목이 'test'인 레코드를 반환합니다.
반대로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!