1

我有两列namesurname。我想做一个搜索查询,如果用户写名字、姓氏或两者都写,它将找到这个人。

目前我有

    SELECT name, surname, id FROM users WHERE 
    (name LIKE '%".$term."%' || surname LIKE
    '%".$term."%')  AND position='0' LIMIT 5

假设我有一个用户 John Lemon。如果我写John或我写Lemon ,查询会找到他。但是,如果我写John Lemon,它将一无所获。

是否可以使用类似于以下的语法:

 SELECT name, surname, id FROM users WHERE (
  name+' '+surname LIKE
 '%".$term."%')  AND position='0' LIMIT 5
4

3 回答 3

5

像这样的东西?

SELECT name, surname, id FROM users WHERE
    name LIKE '%".$term."%'
    OR surname LIKE '%".$term."%'
    OR CONCAT(name, ' ', surname) LIKE '%".$term."%'
于 2012-04-21T15:41:32.050 回答
2

使用此查询:

SELECT name, surname, id FROM users WHERE
CONCAT(name, ' ', surname) LIKE '%".$term."%'
于 2012-04-21T15:42:22.607 回答
0

我相信你想要的是 MySQL 的concat

WHERE CONCAT(NAME,' ',SURNAME) LIKE '%".$term."%'
于 2012-04-21T15:42:32.703 回答