select getdate(),DATEADD(millisecond,1,getdate())
me da la misma respuesta .... ¿Cómo agregar exactamente 1 milisegundo?¿Cómo puedo agregar exactamente 1 milisegundo?
No puedo usar un campo datetime2
.
select getdate(),DATEADD(millisecond,1,getdate())
me da la misma respuesta .... ¿Cómo agregar exactamente 1 milisegundo?¿Cómo puedo agregar exactamente 1 milisegundo?
No puedo usar un campo datetime2
.
que necesitará para almacenar milisegundos por separado si necesita que gran precisión. En SQL Server 2005 no hay un tipo de fecha/hora nativo que le permita ser más preciso que ~ 3 ms. Esta es la razón por la cual, por ejemplo, la última vez que puede tener en un día es 23: 59: 59.997, no .998 o .999.
Creo que no se puede, porque DateTime
s se representan como números de punto flotante internamente y 1 milisegundo no se puede representar como float
.
Para obtener más información, consulte las respuestas to this question.
De hecho no se puede, pero no por la razón dada exactamente. SQL Server almacena 'datetime' como 2 enteros, uno para datepart y otro para time. El tiempo se almacena como 'ticks' con cada tic que es' 1/300' de segundo, por lo que solo tiene que ver con la representación interna en lugar de con 'flotar' –
No puede. La precisión de datetime
es de 3,33 milisegundos.
La resolución del tipo DATETIME
es insuficiente para sus necesidades; por the documentation, es:
redondeado a incrementos de .000, .003, .007 segundos o
posible duplicado de [Agregar milisegundos a una fecha y hora en tsql INSERT INTO] (http://stackoverflow.com/questions/2625178/adding-miliseconds-to-a-datetime-in-tsql-insert-into) – tvanfosson
See también http://stackoverflow.com/questions/3380109/precision-of-sql-getdate – tvanfosson