列中一个较大的值已引起我的SQL抛出错误信息: 错误转换数据类型为varchar到数字的SQL Server将varchar列值“1218300.00”为INT
我已经分离出这一个特定的行。下面是一个简单的脚本,“作品”:
SELECT
MtgeLoanAmount
, CAST(convert(numeric(15,2),'1218300.00') as int) as TrialValue
FROM dbo.Processed_VA_From_Excel
where FipsStateCode='06'
and FipsCountyCode='013'
and GuarantyAmount = '304575'
为粘贴在这里返回的结果:
所以,当我试图通过添加第三列“概括”我的测试如下它不能转换:
SELECT
MtgeLoanAmount
, CAST(convert(numeric(15,2),'1218300.00') as int) as TrialValue
, CAST(convert(numeric(15,2),MtgeLoanAmount) as int)
FROM dbo.Processed_VA_From_Excel
where
FipsStateCode='06'
and FipsCountyCode='013'
and GuarantyAmount = '304575'
返回此:
Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to numeric.
什么是'MtgeLoanAmount'声明为? – DeanOC 2014-10-30 22:29:45
谢谢,DeanOC。 MtgeLoanAmount被声明为varchar(255),大部分值不大于1218300.00(大多数都小于1百万) – 2014-10-30 23:35:32
15,2表示总共15个,其中2个是小数点,因此存在较大值,得到最大值并检查也可能需要bigint来代替int – radar 2014-10-30 23:51:07