动态日期案例声明

时间:2019-07-25 14:49:24

标签: sql ssms-2012

我正在使用SQL Management Studio 2012.我有如下查询输出。我想有一个专栏查看完成日期,如果大于2019-01-01,则考试“有效”(如果早于“续订”)。它不能是硬编码的2019-01-01,在今年初,我希望它可以查看2020-01-01,依此类推。

Name         Exam         Date Completed  
Matt         English        2018-11-26       
James        Maths          2019-06-02      

我想要

Name         Exam         Date Completed        Valid
Matt         English        2018-11-26            No
James        Maths          2019-06-02            Yes

2 个答案:

答案 0 :(得分:3)

我想您只是想知道年份是否与当前年份相同。那应该是:

(case when year(date_completed) = year(getdate()) then 'Yes' else 'No'
 end) as valid

答案 1 :(得分:2)

这也可以,但是我不知道它是否比上面的案例更有效:

    SELECT IIF(YEAR(date_completed) < YEAR(GETDATE()),'No','Yes') AS valid