[SQL]錯誤解決方法: 將 varchar 值 '*' 轉換成資料類型 int 時,轉換失敗。

2024/03/04閱讀時間約 1 分鐘
錯誤訊息

錯誤訊息

錯誤訊息:將 varchar 值 '*' 轉換成資料類型 int 時,轉換失敗。


Count筆數

Count筆數

參數@Count實際值有四位數,長度超過宣告的VARCHAR(3)三位數。


參數@Count實際值

參數@Count實際值

資料被截斷時,SQL Server會輸出特殊字元(如星號)以指示錯誤,所以@Count的值會變成星號 * (原始資料並沒有符號),再去跟整數3做比較就會跳出此錯誤訊息。


修改型態後已無錯誤

修改型態後已無錯誤

此參數要和整數做比較,將型態VARCHAR(3)修改為INT即可。


筆數為三位數時則正常

筆數為三位數時則正常

若筆數剛好是三位數,將整數賦值給VARCHAR類型的變數時,SQL Server會自動進行隱含式轉換,將整數轉換為字串,因此不會產生資料類型不相容的錯誤。

留言0
查看全部
發表第一個留言支持創作者!