据类型 varchar 转换为 numeric 时出错

2024-11-17 18:23:08
推荐回答(1个)
回答1:

一定是所执行的SQL脚本中有以下的情况:
1、将一个带有非数字的字符存入数值型字段或变量中。
如:
DECLARE @ABC DECIMAL(12,4)
SET @ABC='A3.5'就会出现此错误。
SET @ABC='3.5' 就不会出现此错误。
2.在CONVERT或CAST函数将某字符串转换为数值型数据时,源字符串包含非数字字符,就会报此错误。如:
SELECT CONVERT(DECIMAL(12,4),'A3.5')
3.在逻辑表达式中试图比较一个非数字的字符与一个数值型变量时,会发生该错误,如
SELECT * FROM TABLENAME WHERE 价格>'1000A'
=============================
不如这样:
select *
from haoma
where Col001>'13400000000'