SQLSERVER 数据类型转换报错 Error converting data type nvarchar to numeric.

1、案例数据源

2、发现问题:字符串不能转数字类型

3、原因

[amount] 列有空值,Convert 不能对于空值进行数据类型的转换

4、解决方法

方法1、把空值给排除掉 :WHERE ISNUMERIC([amount])>0
方法2、函数优化,让空值返回空 :Try_Convert(decimal, [amount])

TRY_CONVERT VS CONVERT
TRY_CONVERT 将一种数据类型转换为另一种数据类型,如果此函数无法执行转换,则返回 null;
CONVERT:将一种数据类型转换为另一种数据类型

5、参考连接
https://database.guide/convert-vs-try_convert-in-sql-server-whats-the-difference/
https://ask.csdn.net/questions/749602