我需要检查是否在一个或多个列中找到了字符串。
基本上,我有一个程序,可让您检查多个字段(名称,姓氏等)。
如果同时检查了名称和姓氏,并且用户仅输入了名称,例如chris,则可以很容易地在mySQL中使用LIKE参数检查它,如下所示:
select * from tblClients WHERE name LIKE '%john%';
这显然有效。但是,我需要做的是,如果同时检查了姓名和姓氏,它将执行以下操作:
select * from tblClients WHERE (name or surname) LIKE '%john%';
我希望如果在有一个名为john doe的客户端时执行此逻辑,则第二个命令仍会找到该客户端。
我尝试了此命令,未发现语法错误,但是返回0个结果。
有什么建议吗?
您不能只使用单独的WHERE子句,例如:
SELECT * FROM tblClients WHERE (name LIKE '%john%') OR (surname LIKE '%john%')
您必须根据用户选择的列来修改SQL。