我想从一个字段中提取年份并提供一个过滤器,但是,我已经尝试了一些根据年份过滤的东西而且它不起作用...它仍然显示完整的日期而不是空字符串。 这是我最近的尝试:
,(CASE
WHEN YEAR(SomeDateField) = 1900
THEN ''
ELSE
SomeDateField
END
)As 'Confirmed Date'
答案 0 :(得分:4)
将您的案例更改为
,(CASE
WHEN YEAR(SomeDateField) = 1900
THEN NULL
ELSE
SomeDateField
END
)As 'Confirmed Date'
由于您在ELSE部分中使用Date
值,因此SQL
会查看整个字段,并认为其为Date
列和''
值在Date
列中默认为1900-01-01,但它将 NULL 视为NULL
答案 1 :(得分:0)
确保您的案例陈述类似
,(CASE
WHEN YEAR(SomeDateField) = 1900
THEN NULL
ELSE
YEAR(SomeDateField)
END
)As ConfirmedDate