在Where子句中的SqlSever查询案例规则 [英] SqlSever Query Case Statatment in Where Clause

查看:71
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆