如何解决在SQL中为WHERE子句合并两列?
开发过程中遇到在SQL中为WHERE子句合并两列的问题如何解决?下面主要结合日常开发的经验,给出你关于在SQL中为WHERE子句合并两列的解决方法建议,希望对你解决在SQL中为WHERE子句合并两列有所启发或帮助;问题描述
WHERE CONCAT(customers.first_name, ' ', customers.last_name) liKE '%John Smith%'
请注意,为了使此功能按预期工作,应修剪名字和姓氏,即,它们不应包含前导或尾随空格。最好在插入数据库之前在PHP中修剪字符串。但是您也可以像这样将修剪合并到查询中:
WHERE CONCAT(TRIM(customers.first_name), ' ', TRIM(customers.last_name)) liKE '%John Smith%'
解决方法
在我的SQL中,我使用WHERE
and LIKE
子句执行搜索。但是,我需要对两列的组合值执行搜索-
first_name
和last_name
:
WHERE customers.first_name + customers.last_name LIKE '%John Smith%'
这行不通,但是我想知道如何才能按照这些原则做点什么?
我试图按两列来分开搜索,如下所示:
WHERE customers.first_name LIKE '%John Smith%' OR customers.last_name LIKE
'%John Smith%'
但这显然不起作用,因为搜索查询是这两列的组合值。