我有两列名称和姓氏。我想创建一个搜索查询,如果用户写下姓名,姓氏或,将会找到该人。
目前我有
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
答案 0 :(得分:5)
这样的东西?
SELECT name, surname, id FROM users WHERE
name LIKE '%".$term."%'
OR surname LIKE '%".$term."%'
OR CONCAT(name, ' ', surname) LIKE '%".$term."%'
答案 1 :(得分:2)
使用此查询:
SELECT name, surname, id FROM users WHERE
CONCAT(name, ' ', surname) LIKE '%".$term."%'
答案 2 :(得分:0)
我相信你想要的是MySQL' concat。
WHERE CONCAT(NAME,' ',SURNAME) LIKE '%".$term."%'