我有一个表(我们称之为A),其中有一个名为references_int
的文本字段,它有很多值。一个例子是'internal\reference[111]'
。
如果我这样做
SELECT *
FROM A
WHERE references_int LIKE 'internal\\reference[111]'
它将返回零行。但如果我将LIKE
替换为=
则可行。
我使用简化查找查询的框架,但它使用LIKE
..有没有办法让它工作?
不知道这是一个错误还是一个功能。
谢谢!
答案 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 '#'