2017-03-15 8 views
0

本番システムで生成された.csvファイルが多数あります。 BULK INSERTを使用して、MSSQLサーバのさまざまなテーブルにエラーなしでロードします。私は最近、データを転送するためにBULK INSERTを使用したすべてのテーブルに、正しい日時(時および分)を持つdatetime列があることに気付きましたが、秒はすべてのレコードでゼロです。SQL BULK INSERT .csvのdatetime列のゼロ秒。

列のデータ型はDATETIMEです。

なぜ秒はゼロ時間にゼロになっていますか?

サンプルデータ:

TESTBULKINSERT,TESTBULKINSERT,2017-03-10 06:01:16,,,,Z1860_1,1,0,PASSED,NA,NA,NA,0 

BULK INSERTコマンド:

BULK INSERT Test.dbo.vICT_DATA FROM '\\server\CSV\testfile.csv' With (FIELDTERMINATOR = ',', FIRSTROW = 2, MAXERRORS = 0, ROWTERMINATOR = '\n' 

結果:VIEWを通じて秒でDATETIMEを挿入する際

PARTTYPE SN TDATE JOBNO BADGE TESTMODE TESTERID NESTID PASS_FAIL FAILCODE FAIL_DESC FIRST_FAIL_VAL UNITS LNUM ID 
TESTBULKINSERT TESTBULKINSERT 2017-03-10 06:01:00.000 NULL NULL NULL Z1860_1 1 0 PASSED NA NA NA,0 NULL 306244 
+0

DATAFILETYPE = 'char'を追加してみてください – BobNoobGuy

+0

DATAFILETYPE = 'CHAR'を使用して同じ結果を得ました。同じ結果でCODEPAGE = 'ACP'を追加しようとしました。 – Josh

+1

あなたはどこかで 'SMALLDATETIME'を使っていませんか? –

答えて

0

、VIEWにもデータ型を持つ必要がありますDATETIMEに設定します。 VIEWにSMALLDATETIMEを使用すると、秒が最も近い分に丸められます。

関連する問題