如何用SQL将Null值转换为空字符串 ISNULL输出为0问题解决
问题根因
你的写法触发了数据库隐式类型转换规则:CustomerStatusId属于数值类型字段,ISNULL函数会统一返回与第一个入参相同的数据类型,因此你传入的空字符串''会被自动转换为数值型的0,最终输出就全为0。
调整方案
先将数值类型的字段显式转换为字符串类型,再做空值判断即可,调整后的代码如下:
ISNULL(CAST(CustomerStatusId AS VARCHAR(50)), '') AS StatusId
如果你使用的是SQL Server 2012及以上版本,也可以使用更简洁的写法:
ISNULL(FORMAT(CustomerStatusId, ''), '') AS StatusId
内容的提问来源于stack exchange,提问作者miracdogan
相关产品推荐
相关产品推荐

