有没有办法从如下表中选择数据?
SELECT * FROM profile WHERE fname+" "+lname LIKE '%$name%'
例如:
fname = "Lady"
lname = "Gaga"
$name = "lady g" is match
就像 facebook 搜索引擎一样,当我输入全名时,它会显示结果,即使全名包含非中断空格。
肯定有 - 你可以使用 mysqlCONCAT()
功能 -
SELECT * FROM profile WHERE CONCAT(fname," ",lname) LIKE '%$name%'
该CONCAT()
函数可以接受许多参数,引用的字符串作为它们的文字值,并且字段名称从被查询的表中评估为它们的值。因此fname
,并且lname
必须是数据库中字段的实际名称。
有关更深入的文档,请参见此处
是的,使用CONCAT()函数,如下所示:
SELECT * FROM profile WHERE CONCAT(fname,' ',lname) LIKE '%$name%'
您将使用该CONCAT
功能。请记住,这可能会导致性能不佳,因为它不会正确使用索引。
SELECT * FROM profile WHERE CONCAT(fname," ",lname) LIKE '%$name%'