我尝试使用nullif()方法将十进制字段空值(" 0.0")转换为空字符串("")。但转换导致错误。我为另一个int字段尝试了相同的方法,它工作正常。
如何在sql查询中将十进制空值转换为空字符串?
答案 0 :(得分:2)
'values'
的单引号,"column labels"
'0.0'
是一个字符串(对于varchar列),0.0
和0
是数字(对于int / dec列)'0.0'
和0.0
都不是null
s nullif()
返回null
表示正确的条件,而不是空字符串所以你可能想要这样的东西:
case when mydecimal = 0 then '' else cast(mydecimal as varchar(10)) end
或:
nullif(mydecimal, 0)
答案 1 :(得分:0)
:如果我没弄错的话,ISNULL(值,'')称为coalesce运算符。