我在sql server中很新。我試圖運行此以下查詢:使用CAST或CONVERT時SQL Server錯誤「轉換失敗」
SELECT AVG(jl.[Stock Weight])
FROM [Settlement Line] jl
WHERE jl.[Vendor No_] = 8516
AND (jl.[Slaughter Date] BETWEEN '2015-11-01' AND '2015-11-30')
AND (CAST(jl.[Item No_] AS INT) BETWEEN 17000 AND 17099)
其結果是,我得到這個錯誤:
OperationalError: (245, "Conversion failed when converting the varchar value 'PRISGAR.'
我不知道這一點。我也不知道PRISGAR
是什麼。我也試過用CONVERT
也得到同樣的錯誤。該字段[Item No_]
是varchar(20)
,我試圖將其轉換爲INT
並在兩個數字之間進行檢查。
你能提供你的表的模式,所以我們可以看到什麼請輸入字段?這只是一個類型錯誤。 – Dane
一行'PRISGAR'作爲'[Item No_]'字段中的值。這不能轉換爲'INT' – Raj
備註:[你不想在SQL Server上使用'BETWEEN'作爲日期/時間類型](http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common.aspx)(或者其他地方的很多地方)。 –