MySQL选择带有特殊字符的字符串

标签 mysql special-characters

我在从数据库中选择字符串时遇到问题。问题是,如果您在行中有 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/

相关文章:

mysql - Nodejs和mysql重复问题

php - 我如何在 Zend_Db_Select where() 子句中使用问号 '?'?

MySQL - 选择查询与联结表到一行

c++ - 控制台上的特殊字符

mysql - 如果类别至少有三个系列,如何返回数据

mysql - 在 MySQL 中存储不确定数量的数据

Java忽略字符串匹配中的特殊字符

javascript - 如何不显示/过滤掉特殊字符? (CSS 或Javascript)

visual-studio-2010 - Visual Studio : show all special characters in a string

检查行是否为空或包含不可打印的字符