2017-02-15 8 views
0

SSISを使用してExcelファイルからSQLサーバーにデータを挿入しています。私のテーブルにはTelphoneNoフィールドがありますが、データをSQLテーブルに挿入すると、いくつかの値が異なるフォーマットに変換されます。 10kレコードに間違ったデータがあります。 SQL Serverのデータを更新するためのクエリを手伝ってください。 例:ソース値:13902479195 先値:1.39025e + 010 あなたはSQL Serverのいくつかの値は異なる形式に変換されますIN SQL Server

+0

最小限の完全で検証可能な例を作成する方法を確認するには – 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)にするために、最初の2〜3行の長いテキストをExcelで作成する必要があります。

+0

私はSQL Serverテーブルのデータを修正する必要があります。 SQL Serverで既にインポートされたデータ –

+0

列のデータ型をnvarcharに変更し、INTで変更/キャストしようとします。 –

+0

このデータはSQLサーバーでは修正できません。精度は科学表記形式で失われます。たとえば、その値を実数または浮動小数点数に変換すると、SQLは小数点以下10桁を右に移動し、それがわからない場合は0を埋め込みます。Convert(float、 '1.39025e + 010')= 13902500000 –

関連する問題