2016-10-26 58 views
0

我有一個文本文件(逗號分隔和「文本限定符)導入數據有問題這是出口的,我們可以從一個幾乎30年 - 做的唯一的類型。舊系統導入文本文件數據庫 - 多餘的空格字符

問題來自舊系統中某人在字段中使用「空格」,在導入期間SQL顯示我有東西並顯示單元格爲「NULL」當您在Excel中打開此文本文件時,它顯示空細胞(這是正確的),但細胞行爲不同相比真正空單元

實施例(即從記事本是++): example - >橙色箭頭示出TAB (確實將它們排列成可讀) 。橙色點顯示空格

某些Column1數據有額外的空格(「N」和「B」行),但不會導致問題。

第2列 - 前8列是好的。 「」文本限定符之間沒有任何內容。 第9-13行在TEXT限定符之間有空格。當加載到Excel單元格是空的,看起來不錯。當加載到SQL Server時,它出現錯誤,如果我從Excel文件加載這個SQL,則在這些單元格中顯示NULL。試圖用Access「洗」這個,加載好,保存dbo並加載這個dbo在SQL中顯示NULL。

欄3相同列2:第1行是好的,在第2行和第3問題,那麼4-8是示出良好X,和圖9至13示出了NULL。

任何想法如何將它加載到SQL Server?更改列上的某些設置(忽略空間)...?

回答

0

假設你想空間轉換爲空字符串在數據庫中導入數據之後,你可以運行SQL像

UPDATE [yourTableName] 
SET [columnName] = '' 
WHERE [columnName] = ' '; 

複製和粘貼然而,對於許多列需要進行消毒,並放在正確的表名和列名。

如果你想在同一時間改變空間爲空字符串,除去從字符串的開始和結束的空間,你可以使用

UPDATE [yourTableName] 
SET [columnName] = LTRIM(RTRIM([columnName])) 

這將收拾「B」和「N」也是條目。

+0

我想導入此到SQL格式的文本文件,其中「」或「」將通過SQL導入(沒有錯誤),並在表中,列/行是空的。 「」 將被導入相同的方式 「」 也許 – hyprex

+0

: UPDATE [yourTableName] SET [COLUMNNAME] = '' WHERE [COLUMNNAME] = 'NULL'; – hyprex

+0

是的,我不明白你的問題,如果你想要一個NULL或一個空字符串時導入空間。我會編輯我的答案... –

相關問題