SQL:LIKE 和 " ' ”
我必须获取此条目:“l\'arbre”。
这是我提出的各种请求之一:
SELECT id,nom FROM serie WHERE nom LIKE "%l\'%"
但它不起作用(返回 0 行)。
但这是有效的:
SELECT id,nom FROM serie WHERE nom LIKE "%\'%"
有人知道这个问题吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个:
Try this one:
如果数据库的值为“l\'arbre”,则
“%l\'%”
将不起作用,因为\
是转义符字符,因此l\'
转换为l'
,它不会出现在 DB 值中。尝试
LIKE "%\\\\\'%"
第一个
\\\\
表示一个反斜杠,\'
表示撇号。If the DB has the value "l\'arbre",
"%l\'%"
will not work since the\
is an escape character, sol\'
translates tol'
which does not appear in the DB value.Try
LIKE "%\\\\\'%"
The first
\\\\
means one backslash, and the\'
means the apostrophe.由于数据库中有
'l\'arbre'
,因此您需要将查询更改为... LIKE "%l\\'%"
。在当前查询中,反斜杠被解释为转义撇号的字符串转义字符。您需要将其解释为字面反斜杠,这意味着您需要使用反斜杠对其进行转义。Since you have
'l\'arbre'
in the database, you need to change the query to... LIKE "%l\\'%"
. In your current query, the backslash is interpreted as being a string escape character that escapes the apostrophe. You need it to be interpreted as a literal backslash, which means you need to escape it with a backslash.