【发布时间】:2011-10-28 18:26:39
【问题描述】:
我正在尝试编写代码,我只想查看当前财政年度的请求。我们的财政年度从 7 月 1 日开始,到 6 月 30 日结束
但是当我写下面的代码时
SELECT
group_name
,SUM(CASE WHEN status = 'HOLD'THEN 1 ELSE 0 END) AS HOLD
,SUM(CASE WHEN status = 'CL'THEN 1 ELSE 0 END) AS CL
,SUM(CASE WHEN status = 'OP'THEN 1 ELSE 0 END) AS OP
FROM dbo.View_Request
WHERE CASE WHEN datepart(mm, GetDate()) > 6 THEN /*It is past June in this year*/
datepart(mm,dateadd(second,open_date,'19700101')) >= 7
AND datepart(yy,dateadd(second,open_date,'19700101')) = datepart(yy, GetDate())
ELSE /*It is June 30th or earlier in the year*/
CASE WHEN datepart(mm,dateadd(second,open_date,'19700101')) <= 6 THEN
datepart(yy,dateadd(second,open_date,'19700101')) = datepart(yy, GetDate())
ELSE
datepart(yy,dateadd(second,open_date,'19700101')) = datepart(yy, GetDate())-1
END
END
GROUP BY group_name
我收到模糊的错误消息:
消息 102,第 15 级,状态 1,第 8 行
'>' 附近的语法不正确。
如何修复此代码以仅检查当前会计年度的条目
【问题讨论】:
标签: sql sql-server date case