我知道这听起来可能很小,但需要解决,以下是我的SQL查询
SELECT
CASE
WHEN A.ReleaseDate = '1900-01-01' THEN ''
WHEN A.ReleaseDate IS NULL THEN ''
ELSE ReleaseDate
END AS ReleaseDate
FROM XYZ
我可以看到Releasedate
是1900-01-01
在我的表中,但仍然是使用ELSE
条件。我找不到原因。
甲case
表达式返回单个类型。我想您会返回一个日期。因此,您得到一个日期,并且空白字符串变为某个非常旧的日期。
如果希望它返回一个空白字符串,则需要返回一个字符串。因此,使用显式转换:
SELECT (CASE WHEN A.ReleaseDate = '1900-01-01' THEN ''
WHEN A.ReleaseDate is null THEN ''
ELSE CONVERT(VARCHAR(10), ReleaseDate, 121)
END) as ReleaseDate
FROM XYZ;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句