2014-02-20 4 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) 

Теперь, когда я выбор записей, я не подвожу никакого результата, я попробовал много комбинации с подобными, но не повезло.

Ex:

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 для instr !! –

+0

Интересно, будет ли MySQL использовать индекс для этого (потому что для 'LIKE 'подстроки%'' он будет). Но - нужно проверить .. –