我有一个varchar类型的列,其中填充了混合值,例如1.2、5.33,同时还有NULL和空字符串。
我想将所有值转换为十进制数,同时将NULL和空字符串视为0。
我可以使用CONVERT函数更改NULL或EMPTY字符串。像这样,我用varchar 0替换NULL和EMPTY字符串。
CASE WHEN Column1 = '' OR Column1= NULL THEN '0' ELSE Column1 END AS 'NewColumn1'
然而,我想做的是将NewColumn1的输出数据转换为十进制数,但是当我将CASE语句放入CONVERT或CAST函数中时,会出现错误。
我还尝试了以下操作:CONVERT(DECIMAL(10,4), ISNULL(Column1, '0'))
,但它失败了,因为我没有处理空字符串。
有什么解决这个问题的方法吗?
... OR Column1 IS NULL ...
- undefinedCAST((CASE WHEN Column1='' OR Column1 IS NULL THEN '0' ELSE Column1 END ) AS DECIMAL(18,2))
- undefined