动态日期案例陈述
Dynamic date case statement
我正在使用 SQL Management Studio 2012.I 有如下查询输出。我想要一个查看完成日期的专栏,如果它大于 2019-01-01,那么如果早于 'Renew',则考试是“有效的”。它不能是硬编码的 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
我想你只是想知道年份是否与当前年份相同。那将是:
(case when year(date_completed) = year(getdate()) then 'Yes' else 'No'
end) as valid
这也行,但我不知道它是否比上面的 case 语句更有效率:
SELECT IIF(YEAR(date_completed) < YEAR(GETDATE()),'No','Yes') AS valid
我正在使用 SQL Management Studio 2012.I 有如下查询输出。我想要一个查看完成日期的专栏,如果它大于 2019-01-01,那么如果早于 'Renew',则考试是“有效的”。它不能是硬编码的 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
我想你只是想知道年份是否与当前年份相同。那将是:
(case when year(date_completed) = year(getdate()) then 'Yes' else 'No'
end) as valid
这也行,但我不知道它是否比上面的 case 语句更有效率:
SELECT IIF(YEAR(date_completed) < YEAR(GETDATE()),'No','Yes') AS valid