【问题标题】:Using SOUNDEX function on WHERE clause in MySQL在 MySQL 中的 WHERE 子句上使用 SOUNDEX 函数
【发布时间】:2021-10-31 05:48:24
【问题描述】:

如何在下面的WHERE 子句中使用soundex 函数?

WHERE usr.name LIKE CONCAT('%', :search, '%')

鉴于使用SOUNDEX 函数的一般方法是:

SELECT name FROM users WHERE soundex('Dennis') = soundex(name)

但是,我对如何在上面的 where 子句中编码它感到困惑,因为我使用了 LIKE。我正在使用 MySQL 和 PDO。

【问题讨论】:

  • soundex 对于现实世界的案例不是很有用,你为什么要使用它?
  • @ysth 如果使用得当并且在正确的地方,它是。它是否有用,取决于操作领域。据我所知,这是一个非常强大的功能,很少有人知道。我在我的聊天应用程序中使用它,我有一个连接用户列表,人们可以使用搜索栏搜索这些用户。不是每个人都擅长写正确的拼写。犯了错误。匆忙打字的人也会出错。如果输入的名称听起来与要搜索的名称相同,即使输入的拼写错误,它也会显示正确的结果。

标签: mysql sql pdo soundex


【解决方案1】:

我得到了答案。为将来搜索的人发帖。

WHERE (soundex(:search) = soundex(usr.name)) OR (usr.name LIKE CONCAT('%', :search, '%'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 2014-04-27
    相关资源
    最近更新 更多