我想這UPDATE表SET列= CONVERT(INT,COL)
UPDATE table
SET col = CONVERT(int, col)
和我得到
消息245,級別16,狀態1,2號線 轉換失敗時將varchar值'106/1'轉換爲數據類型int。
我想這UPDATE表SET列= CONVERT(INT,COL)
UPDATE table
SET col = CONVERT(int, col)
和我得到
消息245,級別16,狀態1,2號線 轉換失敗時將varchar值'106/1'轉換爲數據類型int。
檢查你傳遞給方法的參數類型,你的方法要求一個類型爲Int的參數,但是你把它作爲一個varchar,這就是爲什麼它的拋出異常。 嘗試用給一個int一次
歡迎來到SO。它有助於發佈一些代碼來顯示你的答案。 –
如果2012+,你可以使用TRY_CONVERT()...無效將返回NULL
UPDATE table SET col = TRY_CONVERT(int, col)
如果不是2012+
UPDATE table SET col = case when isnumeric(col+'.01')=0 then null else CONVERT(int,col) end
編輯(據悉,昨晚通過Shnugo獲得了isnumeric()技巧)
Thx爲學分:-) [昨晚自己學習了isnumeric()技巧我自己: - )](http://stackoverflow.com/q/40898509/5089204) – Shnugo
@Shnugo我試圖成爲一個可敬的人。有點慚愧,我不認爲增加鏈接。 –
我不知道什麼讓我感到困惑ssage。你的表中有一個值爲'106/1'的值,它不是'int'...它在錯誤信息中的字面意思。檢查你的數據... – Siyual
只是好奇。你期待[106除以1]還是[106]或[NULL]? –
我在這一天給你了這個答案http://stackoverflow.com/questions/40870435/i-have-column-with-decimals-and-i-want-it-to-make-it-real-number -please-see-belo用我給你的案例陳述替換'col',它會起作用。 –