我有一个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
。如何将其转换为日期格式?
答案 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