我试图检查所涉及的人名(1,2,3或4)之一是否存在于我的数据库中。我尝试了以下查询,但它不工作,因为我想要的。
SELECT *
FROM db.cases
WHERE (inv_person_name_1 OR inv_person_name_2 OR inv_person_name_3 OR inv_person_name_4) LIKE '%something%'
我也不能用
SELECT *
FROM db.cases
WHERE inv_person_name_1 LIKE '%something%'
OR inv_person_name_2 LIKE '%something%'
OR inv_person_name_3 LIKE '%something%'
OR inv_person_name_4 LIKE '%something%'
因为它不符合我的程序需要。我只需要一个LIKE“%something%”
2条答案
按热度按时间yhuiod9q1#
假设您使用的是C#(当前标记的),则需要使用SqlParameters格式化查询:
或:
在这种情况下,您需要执行
cmd.BindByName = true;
(请参见better way of using a single parameter multiple times in c#)另一种方法是丑陋的,但如果您的LIKE将始终是
%something%
(即通配符之前和之后),您可以这样连接名称:或
qvtsj1bj2#