2014-02-20 61 views
1

當我試圖解決This Question.我創建了一個表MySQL的轉義字符問題

create table mytable(data CHAR(30)); 

INSERT INTO mytable VALUES('d\\one'),('d\\two'),('d\\three'); 

SELECT * FROM mytable; 
+---------+ 
| data | 
+---------+ 
| d\one | 
| d\two | 
| d\three | 
+---------+ 
3 rows in set (0.00 sec) 

現在的僞記錄,當我選擇記錄,我越來越沒有結果,我曾嘗試與像許多組合,而且沒有運氣。

例:

SELECT * FROM mytable WHERE data LIKE "d\\%"; 
Empty set (0.00 sec) 


SELECT * FROM mytable WHERE data LIKE 'd\\%'; 
Empty set (0.00 sec) 

回答

2

使用三重斜線:

SELECT * FROM mytable WHERE data LIKE "d\\\%" 
+0

你是正確的,謝謝! –

1

或者使用INSTR()代替

SELECT * FROM mytable WHERE instr(data, 'd\\') = 1 
+0

+1! –

+0

我不知道MySQL是否會使用索引(因爲'LIKE'substring%''會)。但是 - 需要測試.. –