SQL Server 使用isnumeric函数条件判断出现在将 varchar 值 ‘366.0‘ 转换成数据类型 int 时失败。

SQL Server 使用isnumeric函数条件判断出现在将 varchar 值 ‘366.0‘ 转换成数据类型 int 时失败。_第1张图片

SQL Server 使用isnumeric函数条件判断出现在将 varchar 值 ‘366.0‘ 转换成数据类型 int 时失败。_第2张图片

数据类型不一样导致
原SQL

CASE WHEN cast((case when isnumeric(PRIF_VALUE)=1 then PRIF_VALUE else 0 end)  as NUMERIC(10,2)) <= 0

改进后

CASE WHEN cast((case when isnumeric(PRIF_VALUE)=1 then PRIF_VALUE else '0' end)  as NUMERIC(10,2)) <= 0 

你可能感兴趣的:(sql,数据库,database)