使用MySQL 的WHERE 子句查詢正斜線() 時,會出現兩種不同的情況: 當使用等於(=) 運算子和使用LIKE 運算子時。
對於 = 運算符,不進行額外的轉義必需的。 MySQL 會自動轉義它以保持所比較值的完整性。在您的範例查詢中, (SELECT * FROM Titles where title = 'test') 將傳回標題為 'test' 的記錄,如預期。
相較之下,LIKE 運算子需要對正斜線() 進行兩次轉義,因為它解釋為轉義的特殊字符。要在 LIKE 子句中搜尋單一內容,您需要將其指定為。這是因為 MySQL 會去除反斜線兩次:一次是在解析期間,另一次是在模式匹配期間。
在您的範例查詢中,(SELECT * FROM Titles where title LIKE 'test\') 將傳回標題為'test' 的記錄',因為雙反斜線() 補償了處理過程中的剝離。
如果需要,您可以透過以下方式自訂 LIKE 的轉義字元使用 ESCAPE 關鍵字。例如,您可以指定:
SELECT * FROM `titles` WHERE title LIKE 'test\' ESCAPE '|'
在這種情況下,管道 (|) 用作轉義字符,而不是預設的反斜線 ()。這允許您在 LIKE 查詢中使用,而無需雙重轉義。
以上是如何在 MySQL 的 WHERE 子句中查詢正斜線 (/)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!