Как исправить эту ошибку точности даты и времени MSS 2008 BULK INSERT? - PullRequest
0 голосов
/ 19 сентября 2009

ОБЪЕМНАЯ ВСТАВКА MS SQL Server 2008 в столбец datetime вносит ошибку в третьем десятичном знаке доли секунды: 2009-09-19 15: 02: 41.328 во входном файле становится 2009-09-19 15:02 : 41,327 в базе данных.

Вот что содержит входной текстовый файл:

1   2009-09-19 15:02:41.328

Вот как выглядит таблица после BULK INSERT:

1> select * from mss_t
2> go
 primary_key          data_1
 -------------------- -----------------------
                    1 2009-09-19 15:02:41.327

Вот код:

CREATE TABLE mss_t (
   primary_key    BIGINT NOT NULL PRIMARY KEY,
   data_1         DATETIME NOT NULL )
GO

BULK INSERT mss_t
FROM 'C:\temp\sa_t.txt'
GO

1 Ответ

4 голосов
/ 19 сентября 2009

Это не ошибка ...

Дата и время в SQL Server всегда будут только такими

Точность Округлено с шагом .000, .003 или .007 секунд

То, что приходит от:

http://msdn.microsoft.com/en-us/library/ms187819.aspx (Дата и время Тип данных)

Если вам нужно более точное хранилище, чем вы можете использовать тип данных datetime2

У него будет больше точности, чем у простого

http://msdn.microsoft.com/en-us/library/bb677335.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...