我有很多生产机器生成的.csv文件。我使用BULK INSERT将它们加载到我们的MSSQL服务器中的各个表,没有错误。我最近注意到,我使用BULK INSERT传输数据的所有表的日期时间列都有正确的日期和时间(小时和分钟),但所有记录的秒数都为零。
列数据类型为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'
结果:
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 :(得分:0)
当通过VIEW插入DATETIME
秒时,VIEW也应该将数据类型设置为DATETIME
。在VIEW中使用SMALLDATETIME
将导致秒数舍入到最接近的分钟。