2013-12-18 35 views
1

以下查询正确运行,但未添加其他"OR"参数。过滤日期时的多个OR语句SQL Server 2008

由于某种原因,SC和CC的查询结果未格式化为WHERE子句,并将多个日期返回给我的参数之外。我应该如何更改此语法以确保我的WHERE子句影响OR语句?

SELECT DISTINCT case_number, case_filed_date 
FROM [case] 
WHERE case_filed_date BETWEEN '2012/07/01' AND '2012/09/30' 
AND case_number LIKE '%CA%' OR case_number LIKE '%SC%' OR case_number LIKE '%CC%' 

回答

1

试试这个使用括号为AND具有更高的优先级高于OR: -

SELECT DISTINCT case_number, case_filed_date 
FROM [case] 
WHERE case_filed_date BETWEEN '2012/07/01' AND '2012/09/30' 
AND 
(case_number LIKE '%CA%' OR case_number LIKE '%SC%' OR case_number LIKE '%CC%') 
+0

嘿感谢!这解决了这个问题。 – user3116111

1

添加括号

SELECT DISTINCT case_number, case_filed_date 
FROM [case] 
WHERE case_filed_date BETWEEN '2012/07/01' AND '2012/09/30' 
AND 
(
    case_number LIKE '%CA%' OR case_number LIKE '%SC%' OR case_number LIKE '%CC%' 
) 

and结合强于or