sql - 值为0但返回空单元格

时间:2018-04-24 09:36:28

标签: mysql

我目前正在进行一些数据测试,所以我想将我的文件导出到我的本地(进入excel格式),但我的文件中有列AGE,如果年龄值= 0,则返回为空白单元格(i希望它在映射完成后在excel中返回0)。它相应地返回其他值(例如:1,2,3,4),除了0值。我确信我应该使用ISNULL(),但是我不能用它来保存0而不是空白单元格。

PS /:AGE是一年的计算 deprStartDate是一个VARCHAR列

我的代码目前

year(getdate()) - CAST(ISNULL(right(LTRIM(RTRIM(REPLACE(REPLACE(pcld.[deprStartDate], CHAR(13), ''), CHAR(10), ''))),4),0) AS VARCHAR) as [AGE]

到目前为止我尝试的其他事情是使用COALESCE

year(getdate()) - COALESCE(CAST(right(LTRIM(RTRIM(REPLACE(REPLACE(pcld.[deprStartDate], CHAR(13), ''), CHAR(10), ''))),4) AS INT),'') as [AGE]

我确信这是获得0的正确功能,但我不确定我是否以正确的方式做到了。需要有人帮助我,因为我对SQL很新。非常感谢。

1 个答案:

答案 0 :(得分:0)

如果你想" 0"当值为"空白"时返回(大概是NULL),然后将该值放在COALESCE()

year(getdate()) - COALESCE(CAST(right(LTRIM(RTRIM(REPLACE(REPLACE(pcld.[deprStartDate], CHAR(13), ''), CHAR(10), ''))),4) AS INT), '0') as [AGE]

我不能说出你的其他逻辑,但价值应该是'0',而不是''

相关问题