mysql听起来不像没有返回所有正确/预期的结果

时间:2018-08-01 13:50:45

标签: mysql sql

我有一个名为key_words的表:

id        | keyword
-------------------
1         | dream
2         | dreams
3         | draw
4         | sudipto
5         | sudipta

当我执行这些查询时:

  1. select keyword from key_words where keyword sounds like 'dream'
  2. select keyword from key_words where keyword sounds like 'drea'
  3. select keyword from key_words where keyword sounds like 'sudipto'

    我分别期望得到这些结果:

1. keyword
----------
   dream
   dreams
   draw (maybe)

2. keyword
----------
   draw
   dream
   dreams

3. keyword
----------
   sudipto
   Sudipta

但是我分别得到了这些结果:

1. keyword
----------
   dream

2. keyword
----------
   draw

3. keyword
----------
   sudipto
   Sudipta

为什么sounds like不返回预期结果,我该怎么做才能获得预期结果?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您想找到类似

1. keyword
----------
   dream
   dreams
   draw (maybe)

2. keyword
----------
   draw
   dream
   dreams

3. keyword
----------
   sudipto
   Sudipta

您可以使用正则表达式或编写如下内容:

select keyword from key_words where keyword sounds like 'dream_'

select keyword from key_words where keyword sounds like 'sudipt_'

我不知道要告诉您有关中间行的信息,但仅限于:

select keyword from key_words where keyword sounds like 'dr%'

问题出在类似。 我认为您已经看到了有关它的解释。 MySQL SOUNDS LIKE用作SOUNDEX(expr)= SOUNDEX(expr)来检索字符串声音类似。如果很重要,请使用链接SOUNDEX。对于我来说,我认为这种方式不可靠。

这可能会对您有所帮助。祝你好运!