Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Pourquoi SQL Server perd-il une milliseconde ?

SQL Server ne stocke le temps qu'à environ 1/300e de seconde. Celles-ci tombent toujours sur les 0, 3 et 7 millisecondes. Par exemple. en comptant à partir de 0 dans le plus petit incrément :

00:00:00.000
00:00:00.003
00:00:00.007
00:00:00.010
00:00:00.013

Si vous avez besoin de cette précision à la milliseconde, il n'y a pas de solution agréable. Les meilleures options que j'ai vues consistent à stocker la valeur dans des champs numériques personnalisés et à la reconstruire chaque fois que vous récupérez la valeur, ou à la stocker sous forme de chaîne d'un format connu. Vous pouvez ensuite (éventuellement) stocker une date "approximative" dans le type de date natif pour des raisons de rapidité, mais cela introduit une complexité conceptuelle qui n'est souvent pas souhaitée.