从数据库中选择字符串时遇到问题。问题是如果您的行中有McDonald's
并且如果您使用字符串mcdonalds
进行搜索,它将找不到任何结果。有什么建议吗?
我忘了说我在用LIKE
这个句子。
最佳答案
如果您的搜索要求是忽略某些字符,则可以在搜索过程中用空格将其删除。
这个答案解决了你的问题:
SELECT *
FROM restaurants
WHERE replace(name, '''', '') like '%mcdonalds%'; -- This will match "McDonald's"
仅供参考,单引号文本(
replace
)被写为双引号('
),因此要将单引号指定为''
的参数,您需要在一行(replace
)中使用四个引号-每端两个,中间的双引号用于实际引号。