sql >> Base de Datos >  >> RDS >> Sqlserver

¿Por qué SQL Server está perdiendo un milisegundo?

SQL Server solo almacena el tiempo hasta aproximadamente 1/300 de segundo. Estos siempre caen en los 0, 3 y 7 milisegundos. P.ej. contando desde 0 en el incremento más pequeño:

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

Si necesita esa precisión de milisegundos, no hay forma agradable de evitarlo. Las mejores opciones que he visto son almacenar el valor en campos numéricos personalizados y reconstruirlo cada vez que obtiene el valor, o almacenarlo como una cadena de un formato conocido. A continuación, puede (opcionalmente) almacenar una fecha 'aproximada' en el tipo de fecha nativo en aras de la velocidad, pero introduce una complejidad conceptual que a menudo no se desea.