SQL Server CASE查询无法正常工作

SanamShaikh

我知道这听起来可能很小,但需要解决,以下是我的SQL查询

SELECT 
    CASE 
       WHEN A.ReleaseDate = '1900-01-01' THEN '' 
       WHEN A.ReleaseDate IS NULL THEN '' 
       ELSE ReleaseDate 
    END AS ReleaseDate 
FROM XYZ

我可以看到Releasedate1900-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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章