1. 程式人生 > 其它 >異常處理·MSSQL·在將nvarchar值'XXX'轉換成資料型別int時失敗

異常處理·MSSQL·在將nvarchar值'XXX'轉換成資料型別int時失敗

閱文時長 | 0.16分鐘 字數統計 | 260.8字元
主要內容 | 1、引言&背景 2、宣告與參考資料
『異常處理·MSSQL·在將nvarchar值'XXX'轉換成資料型別int時失敗』
編寫人 | SCscHero 編寫時間 | 2021/7/17 PM2:31
文章型別 | 系列 完成度 | 已完成
座右銘 每一個偉大的事業,都有一個微不足道的開始。

一、引言&背景完成度:100%

a) 應對問題

在MSSQL中遇見以下報錯:
【CN版】

訊息 245,級別 16,狀態 1,第 13 行
在將 nvarchar 值 'XXX' 轉換成資料型別 int 時失敗。

【EN版】

Msg 245, Level 16, State 1, Line 26行
Conversion failed when converting the nvarchar value 'XXX' to data type int.

b) 應對場景

在編寫T-SQL時,經常會出現此類錯誤。

c) 解決原理&方法

問題成因在於,我們編寫T-SQL時有時習慣對數字寫不帶雙引號。這就會造成很多問題。有可能篩選的欄位本身是nvarchar型別的,而SSMS通過強轉型別進行的篩選,因此對於某些字串導致了轉換失敗。此外,此種寫法還容易造成各種效能問題(如不走索引,浪費轉換效能等),在寫T-SQL的時候需要謹記。

二、宣告與參考資料完成度:100%

原創博文,未經許可請勿轉載。

如有幫助,歡迎點贊、收藏、關注。如有問題,請評論留言!如需與博主聯絡的,直接部落格私信SCscHero即可。