我通過SSIS將Excel文件導入到SQL-Server。我有一個臨時表來獲取nvarchar中的所有內容。對於四列,我將字符串轉換爲金錢類型並放入我的目標表中。SQL Server數據類型逗號分隔符
在我的臨時表中,這四列中的一列讓我稱它X爲逗號作爲分隔符,其餘爲點。不要問我爲什麼,我的SSIS中的所有東西都是一樣的。 在我的Excel中,分隔符也是逗號。
所以現在我的目標表我把一切都在逗號值但X列現在移動逗號兩塊地的權利,看起來像這樣:
537013,00,而不是5370,13這是temp和excel列中的原始單元格值。
我在想這是一個文化設置問題,但它又應該或不應該在所有這些列上工作。
a)當我的Excel顯示逗號時,爲什麼我的臨時表中接收點值?
b)我該如何解決這個問題?我可以使用點替換臨時表中的「,」嗎?
UPDATE
我想我找到了原因,但不是解決辦法:
在Excel這個X列中的前三個單元格是空的 - 其他三列的所有從0開始,如果我用0填充X的這三個單元格,然後我也得到我的臨時表中的點和我的目標表中的正確值。但是,我必須按照原樣使用Excel文件。 有關於此的任何想法?
有一個原因,我不能使用任何東西,但nvarchar,因爲這些數字列可能都在Excel中爲空或甚至可以包含文本(用戶錯位) – TonyC