我在从数据库中选择字符串时遇到问题。问题是,如果您在行中有 McDonald's
,并且您正在使用字符串 mcdonalds
进行搜索,则不会找到任何结果。有什么建议吗?
我忘了说我在 WHERE
句子中使用了 LIKE
。
最佳答案
如果您的搜索要求是忽略某些字符,您可以在搜索过程中通过将它们替换
为空格来删除它们。
这个答案解决了你的问题:
SELECT *
FROM restaurants
WHERE replace(name, '''', '') like '%mcdonalds%'; -- This will match "McDonald's"
仅供引用,单引号文字 ('
) 被写成双单引号 (''
),因此要将单引号指定为 的参数>replace
您需要连续四个引号 (''''
) - 每端两个,中间的双引号用于实际引号。
关于MySQL选择带有特殊字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6603132/