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