我想在MySql 5.5.30中做一个简单的SELECT
和LIKE
语句。
我要查找的数据是数据库中显示的文字:Test d\'un article
。
我搜索了如何逃避\'
并发现我必须逃避每个角色。我做了以下事情:
SELECT
description
FROM
myTable
WHERE
description
LIKE
'%\\\'%'
此查询正常工作并返回我想要的数据。但如果我像这样寻找整个文本:
LIKE
'Test d\\\'un article'
查询不返回任何结果。我发现问题来自反斜杠之前的d
,因为以下查询也有效
LIKE
'%\\\'un article'
而且这个没有
LIKE
'%d\\\'%'
我在其他地方找不到任何类似的问题,希望你能帮助我。
PS。 :表格字符集为latin1_swedich_ci
,引擎为MyISAM
答案 0 :(得分:0)
问题是在LIKE
中,你要双重逃避反斜杠。因此,以下查询将起作用
SELECT
description
FROM
myTable
WHERE
description
LIKE
'%d\\\\\'un article%'
在'%d\\\\\'un article%'
中,首先\\\\
是\
的双重转义,而\'
正在逃避'
相关的问题:
Why I need to double-escape (use 4 \) to find a backslash ( \ ) in pure SQL?