【问题标题】:How to search with firstname and last name in - Mysql如何在-Mysql中使用名字和姓氏进行搜索
【发布时间】:2011-10-10 10:40:34
【问题描述】:

假设我的表中有两个字段

field_profile_first_name_value      field_profile_last_name_value

Victor                              Brecher
Abhi                                Jass             

select field_profile_first_name_value, field_profile_last_name_value 
from content_type_profile where field_profile_first_name_value LIKE '%Victor Bre%' OR 
field_profile_last_name_value LIKE '%Victor Bre%'

我有一个自动完成的文本框。

当我输入关键字作为 victor 时,它将获取结果。但是如果我同时给出名字和姓氏,它不会产生结果。

也就是说,如果我将关键字指定为 Victor Brecher,它将不会产生结果。

如果我输入名字和姓氏,我怎样才能得到结果?

我该怎么做?

【问题讨论】:

    标签: mysql search


    【解决方案1】:

    试试:

    select * from contracts 
    where lower(concat_ws(' ', field_profile_first_name_value, field_profile_last_name_value)) 
    like lower('%Victor Bre%')
    

    【讨论】:

      【解决方案2】:

      好吧,即使你也不需要使用 lower。只需简单地使用它。

      select * from contracts where concat_ws(' ', field_profile_first_name_value,field_profile_last_name_value)
      like '%Victor Bre%'
      

      【讨论】:

        【解决方案3】:

        我会使用 soundex。

        select * from contracts where SOUNDEX(concat_ws(' ', field_profile_first_name_value,field_profile_last_name_value)) =  SOUNDEX('Victor Bre');
        

        【讨论】:

        • 如果使用 like '%name%' 未返回任何结果,则 SOUNDEX 搜索将返回发音相似的结果,以防名称拼写错误。
        • 这是我的错——我正在审查“新贡献”并将其视为一个问题,而不是一个答案——这绝对是对问题的一个贡献,我会将我的反对票改为赞成票如果答案被编辑,那么我可以扭转。道歉。
        【解决方案4】:

        我建议使用此代码,因此如果搜索输入是姓名之前的姓氏,则搜索也有效

        SELECT 
         *
        FROM
          contracts
        WHERE
           CONCAT(firstname, ' ', lastname)) LIKE 'Victor Bre%'
        OR CONCAT(lastname, ' ', firstname)) LIKE 'Victor Bre%';
        

        此外,我在 mysql 5.7+ 中测试了这个带有和不带有 LOWER() 的 sql 代码,搜索已经做到了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-03
          • 1970-01-01
          • 1970-01-01
          • 2018-09-02
          • 2013-06-10
          • 2011-08-19
          相关资源
          最近更新 更多