多列中的SQL搜索

时间:2016-05-11 11:53:58

标签: sql sql-server

我想只在2016年搜索。

select from products 
WHERE year="2016" 
and name like '%"& name &"%' 
or size like '%"& Size &"%'

2 个答案:

答案 0 :(得分:0)

将parens放在or条件下,并将双引号更改为年份的单引号(按照jarlh的建议):

select from products 
WHERE year='2016' 
and (
    name like '%"& name &"%' 
    or size like '%"& Size &"%'
)

哦,如果这是VB.NET并且您从参数或其他东西得到nameSize,请确保您escaping them阻止SQL注入(如果这还没有在其他地方完成。

答案 1 :(得分:0)

不需要双引号或LIKE中的任何引号。

SELECT *
FROM products 
WHERE year = '2016' 
AND (name LIKE '%name%' OR size LIKE '%size%'