1
我想在WHERE
子句中使用CASE
,但它返回錯誤。SQL Server - 在WHERE子句中使用CASE
我可以在where子句中使用CASE嗎?或如何解決它?由於
SELECT * FROM hris_leave.dbo.tbl_act
inner join hris_leave.dbo.tstaff on hris_leave.dbo.tstaff.s_id = hris_leave.dbo.tbl_act.s_id
where
case when acting_to is not null
then
datediff(day, acting_from, acting_to) >= 90 and acting_to >= '2010-10-01'
else
acting_to is null
order by hris_leave.dbo.tbl_act.s_id
你不能做你正在嘗試做的外面。什麼是null acting_to日期代表您的數據?這是否意味着休假? – Sparky
您可以在WHERE子句中使用CASE,但CASE沒有任何意義,並且在語法上不正確。 – mwan