列中一個較大的值已引起我的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