语句时的情况 - 将输出转换为日期格式

时间:2016-12-08 22:26:18

标签: date case varchar case-when

我有一个case-when语句,如果我的日期字段在那个月内,则返回任意月份的第15个。

 CASE WHEN (Date Field between date '2016-01-01 and date '2016-01-31') THEN '1/15/2016'
Else 'N/A'
End as New_Date_Field

问题是我的New_Date_Field中返回的值(1/15/2016)不是日期格式,而是VARCHAR。如何将其转换为日期格式?

更新:enter image description here

1 个答案:

答案 0 :(得分:0)

如果您想拥有日期格式,则必须将其转换为转换或转换。转换时,我们必须将case和else转换为相同的格式。在这种情况下,ELSE将为空而不是N / A',因为' N / A'不是日期格式

CASE WHEN (DateField between '2016-01-01' and '2016-01-31') THEN convert(datetime,'1/15/2016',101)
Else NULL    End as New_Date_Field