Comment je résoudre ce problème MSS 2008 VRAC INSERT erreur de précision datetime?
-
11-09-2019 - |
Question
Un MS SQL Server 2008 BULK INSERT à une colonne datetime introduit une erreur dans la 3 ème décimale de la partie secondes: 2009-09-19 15: 02: 41,328 dans le fichier d'entrée devient 2009-09-19 15:02 :. 41,327 dans la base de données
Voici ce que le fichier texte d'entrée contient:
1 2009-09-19 15:02:41.328
Voici ce que la table ressemble après INSERT VRAC:
1> select * from mss_t
2> go
primary_key data_1
-------------------- -----------------------
1 2009-09-19 15:02:41.327
Voici le code:
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
La solution
Cest pas une erreur ...
Datetime dans SQL Server sera toujours seulement cela
Précision Arrondi par incréments de 0,000, .003 ou .007 secondes
Cest comming de:
http://msdn.microsoft.com/en-us/library /ms187819.aspx (Informations de type de données Datetime)
Si vous voulez un stockage plus précis que vous pouvez utiliser le type de datetime2
Il aura plus de précision que la plate