【问题标题】:Name similar to the name that is provided by the user名称与用户提供的名称相似
【发布时间】:2019-02-07 15:02:15
【问题描述】:

所以我有一个表人,我想要一个查询,它给我一个报告,其中的人的名字与用户提供的名字相似。到目前为止,我已经这样做了。有没有更有效的方法?

 SELECT * FROM Person  WHERE name LIKE '%something%';

【问题讨论】:

标签: sql sql-server


【解决方案1】:

您想使用 SOUNDEX 而不是 LIKE

SELECT * FROM Person  WHERE SOUNDEX(name) = SOUNDEX('something');

https://docs.microsoft.com/en-us/sql/t-sql/functions/soundex-transact-sql?view=sql-server-2017

【讨论】:

  • 只需要记住,如果两个名字相似,但首字母不同,SOUNDEX 就不起作用。示例:凯西与凯西。
  • 好点,SOUNDEX 肯定有它的caviats。但据我了解,它仍然最接近 OP 的要求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
相关资源
最近更新 更多