2017-02-15 46 views
0

我們使用SSIS將Excel文件中的數據插入到SQL Server中。我的表具有TelphoneNo字段,但是當我們將數據插入到SQL表中時,某些值會轉換爲不同的格式。有10K條記錄有錯誤的數據。你能幫我查詢更新sql server中的數據嗎? 舉例:源值:13902479195 目標值:1.39025e + 010 能否請你幫我查詢到更新的SQL Server某些值轉換爲不同格式IN SQL Server

+0

請查看http://stackoverflow.com/help/mcve查看如何創建最小,完整和可驗證示例 – pringi

+1

還可以在Excel中檢查列的格式...例如Excel中的TeleponeNo字段可能是一個數字,但你實際上想要它作爲文本 – Kostis

回答

1

更改單元格的格式(在Excel中)爲 「0」

像數據=TEXT(A1, "0")

此外,sql還決定了Excel的第5-10行中的數據類型。

在sql導入嚮導的列映射中檢查數據類型。如果您獲得不同的數據類型,則在Excel中開始插入一些虛擬行。

例如,您有一些列在某些行中包含長文本,但在第5-10行中包含小文本,則sql將考慮數據類型nvarchar(255)。爲了使它成爲nvarchar(max),你必須在excel中創建第一個2-3個長文本行。

+0

我需要更正Sql server表中的數據。數據已經導入到Sql服務器中。 –

+0

嘗試將列數據類型更改爲nvarchar,然後在INT中更改/轉換它 –

+0

您將無法在SQL Server中修復此數據。以科學記數法格式丟失了精確度。例如,如果您將該值轉換爲實數或浮點數,例如,SQL只會將小數點位置向右移動10個位置,併爲它不知道的內容添加填充0(Convert,float,'1.39025e + 010')= 13902500000 –

相關問題