首页 文章

Mysql:在拆分名称表中搜索fullname

提问于
浏览
0

我正在寻找一种方法,您可以在拆分的collumn表中查找全名

我尝试过:例如“michael peter johnson”

select firstName,middleName,lastName 
from staff 
where concat(firstName, ' ', middlename, ' ', lastname) Like "%michael peter johnson%"

这是有效但如果名称是 "michael johnson" 它不起作用导致创建的concat名称: "michael (double space)johnson" 因此concat创建两个空格,但不匹配 .

有没有人知道另一种方法来解决这个问题?

编辑:这个想法是字符串“michael peter johnson”是一个用户输入字段 . 所以它不能分成3个单独的字符串,这不是这个搜索栏的想法

Edit2:我还注意到,如果中间名是“NULL”,并且concat(firstName,'',middlename,'',lastname)与NU ::的结果是NULL,那么它永远不会找到它 .

任何解决方案?

Thx Matthy

4 回答

  • 2

    Replace 是另一个选择:

    select firstName,middleName,lastName 
    from staff 
    where replace(concat(firstName, ' ', middlename, ' ', lastname), '  ', ' ') Like "%michael peter johnson%"
    
  • 0

    你可以这样做:

    select firstName, middleName, lastName 
    from staff 
    where concat(firstName, ' ', middlename, ' ', lastname) Like "%michael%peter%johnson%"
    

    但我想你想要:

    select firstName, middleName, lastName 
    from staff 
    where firstName like '%michael%' and
          middleName like '%peter%' and
          lastName like '%johnson%';
    

    或者因为您的数据库值似乎有空格,可能只是:

    select firstName, middleName, lastName 
    from staff 
    where trim(firstName) = 'Michael' and
          trim(middleName) = 'Peter' and
          trim (lastName) = 'Johnson';
    

    编辑:

    或者,您可以这样做:

    where concat(trim(firstName), ' ', trim(middlename), ' ', trim(lastname)) Like concat('%', 'michael peter johnson', '%')
    
  • 2

    如果你和迈克尔约翰逊一起搜索做这个

    select name, midle, last 
         from staff
         where concat(name, ' ', midle, ' ', last) Like "%michael%johnson%"
    

    在这里demo

    编辑:

    select firstName,middleName,lastName 
     from table1
     where (firstName Like "%michael%" AND lastName  LIKE "%johnson%" )
    
  • 1

    可能不是最有效的解决方案,但应该适合您的要求:

    select firstName, midlename, lastname 
    from staff
    where replace(concat(ifnull(firstName, ''), ifnull(middlename, ''), ifnull(lastname, '')), ' ', '') = replace('michael peter johnson', ' ', '');
    

相关问题