我有一個使用導入嚮導加載到SQL Server的平面文件。所有列都以nchar(50)存儲。SQL Server - 將字符串轉換爲浮動且存在N/A
我現在試圖將錶轉換爲一個新的表與各種類型(char,float,int等)。
有一列,我想轉換爲浮動,但它包含N/A字符串。
我檢查有沒有使用任何其他怪異的字符串這樣的:
SELECT col1, count(*)
from tab1
where ISNUMERIC(col1) <> 1
group by col1
然後我寫了一個CASE語句來執行轉換:
SELECT CASE WHEN col1 = 'N/A' THEN NULL ELSE CAST(col1 AS FLOAT) END col1
INTO tab2
FROM tab1
但我發現了這個錯誤消息:
Msg 8114, Level 16, State 5, Line 1
Error converting data type nvarchar to float.
任何想法是什麼造成這種情況?
小心使用'ISNUMERIC()'爲此。當你運行'select * from'列'like'%[^ 0-9 \。%'''''''''''' – scsimon