2016-10-26 4 views
0

テキストファイル(カンマ区切りと "テキスト修飾子")からデータをインポートする際に問題があります。テキストファイルをデータベースにインポートする - 不要なスペース文字

フィールドに「スペース」を使用する古いシステムの誰かが、インポート中にSQLに何かが表示され、セルが「NULL」と表示されるという問題が発生します。このテキストファイルをExcelで開くと、空の(正しい)の細胞が、細胞は、実際の空のセルに比べて動作が異なります

例(つまり++メモ帳からです):。 example - >オレンジ矢印はTABを示し(読みやすいようにそれらを整列させた) 。オレンジドットは空白を表示します

一部のColumn1データには空白( "N"および "B"行)がありますが、問題はありません。

Column2 - 最初の8列が良好です。 ""テキスト修飾子の間には何もありません。 行9〜13には、TEXT修飾子の間にスペースがあります。 Excelセルに読み込まれたときに空白で表示されます。 SQL Serverにロードするときにエラーが発生します。これをExcelファイルからロードすると、SQLではそれらのセルにNULLが表示されます。アクセスでこれを「洗う」、dboを保存して、SQLでこのdboをロードするとNULLが表示されます。

Column3:Column1と同じ2行目と3行目の問題があり、4-8はX、9はNULLを示します。

これをSQL Serverに読み込む方法はありますか?列のいくつかの設定を内部のどのデータを変更するか(スペースを無視する)...?

答えて

0

あなたはスペースがデータをインポートした後、データベース内の空の文字列に変換したいと仮定すると、あなたはしかし、多くの列のために

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

コピー&ペーストのようなSQLを実行することができますが、消毒する必要があり、中に入れます正しい表名と列名。あなたは、あなたが使用することができ、空の文字列にスペースを変更すると同時に、文字列の先頭と末尾から空白を削除したい場合は

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

「B」と「N」を片付けることになりますエントリも。

+0

"SQL"形式のテキストファイルにインポートする場合は、 ""または ""をSQLでインポートします(エラーなし)。テーブルでは、列/行は空になります。 ""は " – hyprex

+0

と同じ方法でインポートされます。 UPDATE [yourTableName] SET [columnName] = '' WHERE [columnName] = 'NULL'; – hyprex

+0

はい、スペースをインポートしたときにNULLまたは空の文字列が必要な場合は、質問から理解できませんでした。私は私の答えを編集します... –

関連する問題