在Where子句中的SqlSever查询案例规则 [英] SqlSever Query Case Statatment in Where Clause
本文介绍了在Where子句中的SqlSever查询案例规则的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
SELECT vEmpCode,SiteCode,ToDate,FromDate,Day(FromDate) As FDays ,Month(FromDate) As FromMonth,
Year(FromDate)As FromYear FROM Employee_Site_Tag
Where [SiteCode]='SIT003' AND [vEmpCode]='101407'
AND ( SELECT CASE WHEN Year(FromDate) < 2013 THEN MONTH(FromDate)<= 12 WHEN Year(FromDate) = 2013 THEN MONTH(FromDate)<=1 END)
and (( Month(ToDate) >= 1 and Year(ToDate) >= 2013 ) OR Todate IS NULL )
错误:消息102,级别15,状态1,行4
''<''附近的语法不正确。
Error :Msg 102, Level 15, State 1, Line 4
Incorrect syntax near ''<''.
推荐答案
这种方式......
this way...
SELECT vEmpCode,SiteCode,ToDate,FromDate,Day(FromDate) As FDays ,Month(FromDate) As FromMonth,
Year(FromDate)As FromYear
FROM Employee_Site_Tag
Where [SiteCode]='SIT003' AND [vEmpCode]='101407'
AND
MONTH(FromDate)<=
(
CASE WHEN Year(FromDate) < 2013 THEN 12 else case when Year(FromDate) = 2013 THEN 1 else 0 end END
)
and (( Month(ToDate) >= 1 and Year(ToDate) >= 2013 ) OR Todate IS NULL )
快乐编码!
:)
Happy Coding!
:)
这篇关于在Where子句中的SqlSever查询案例规则的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文