[SQL Server][Issue][SQL]
[案例說明][Explain]
SQL Server Version -> 2012
透過cast或convert將nvarchar或varchar轉換為數字型態時,因資料內容問題發生的錯誤:
訊息:將數據類型 nvarchar 轉換為 numeric 時出錯
Solution1
使用ISNUMBERIC功能過濾錯誤的資料內容(官方說明)
EXAMPLE
select * from testtab
where ISNUMERIC(欄位) = 0
Solution2
若使用ISNUMERIC後仍然出現錯誤,可能是因為資料中有科學符號造成
先轉成float格式之後再轉numeric即可
select cast( cast(欄位 as float) as numeric(10,6) ) from testtab;