我正在加入一些SQL Server表,並且有一個varchar
列需要與數字列匹配。我試圖向列轉換爲bigint
,但它會拿出爲什麼這個SQL轉換爲bigint不起作用?
錯誤轉換數據類型爲varchar爲bigint
試圖這樣做的時候。任何人都可以在正確的方向指出我如何解決這個問題?謝謝!
SELECT
userid, COUNT(DISTINCT maintlist.maintid) as thecount
FROM
Userlist
INNER JOIN
maintlist ON CONVERT(bigint, MaintList.enteredby) = userid
INNER JOIN
maintnotes ON maintnotes.maintid = maintlist.maintid
WHERE
deptnum <> '0'
AND notedate BETWEEN '2015-10-01' AND '11/1/2015'
GROUP BY
userid
ORDER BY
thecount DESC;
表中必須有記錄不能轉換爲'BIGINT'。 –
你需要挖掘你的數據並檢查它。你會發現它會像'A' - 你不能將它轉換成數字。你可以把你的int轉換成一個varchar。當然,你永遠不會匹配任何'A'和'001'<>'1' –
是BIGINT類型的userid嗎? 'enterby'字段中的所有值都是數字嗎? – DarkKnight