MySQL中的方括号LIKE

时间:2012-08-27 23:11:14

标签: mysql sql sql-like

我有一个表(我们称之为A),其中有一个名为references_int的文本字段,它有很多值。一个例子是'internal\reference[111]'

如果我这样做

SELECT * 
FROM A 
WHERE references_int LIKE 'internal\\reference[111]'

它将返回零行。但如果我将LIKE替换为=则可行。

我使用简化查找查询的框架,但它使用LIKE ..有没有办法让它工作?

不知道这是一个错误还是一个功能。

谢谢!

1 个答案:

答案 0 :(得分:5)

逃离每个\

SELECT * 
FROM A 
WHERE references_int LIKE 'internal\\\\reference[111]'

默认情况下,如果您未将ESCAPE字符指定为LIKE,则会假设\documentation。另一种方法是使用不同的ESCAPE字符:

SELECT * 
FROM A 
WHERE 'internalrefer\\ence[111]' LIKE 'internalrefer\\ence[111]' ESCAPE '#'