2012-03-21 2 views
5

produce la stessa risposta .... Come aggiungere esattamente 1 millisecondo?Come posso aggiungere esattamente 1 millisecondo?

Non riesco a utilizzare il campo datetime2.

+0

possibile duplicato di [Aggiunta di millisecondi a un datetime in tsql INSERT INTO] (http://stackoverflow.com/questions/2625178/adding-miliseconds-to-a-datetime-in-tsql-insert-into) – tvanfosson

+0

Vedere anche http://stackoverflow.com/questions/3380109/precision-of-sql-getdate – tvanfosson

risposta

9

avrete bisogno di memorizzare millisecondi separatamente, se avete bisogno di più di tanto la precisione. In SQL Server 2005 non esiste un tipo di data/ora nativo che ti consenta di essere più preciso di ~ 3 ms. Questo è il motivo per cui, ad esempio, l'ultima volta che si può avere in un giorno è 23: 59: 59.997, non .998 o .999.

0

Penso che non sia possibile, perché i numeri DateTime sono rappresentati internamente come numero in virgola mobile e 1 millesimo di secondo non può essere rappresentato come float.

Per ulteriori dettagli, consultare le risposte to this question.

+0

In effetti non si può ma non per il motivo dato esattamente. SQL Server memorizza 'datetime' come 2 numeri interi, uno per datapart e uno per volta. Il tempo è memorizzato come "tick" con ogni tick che è "1/300' di secondo, quindi si tratta solo della rappresentazione interna piuttosto che di" float ". –

6

Non è possibile. La precisione di datetime è 3,33 millisecondi.

Date and Time

1

La risoluzione del tipo DATETIME non è sufficiente per le vostre esigenze; per the documentation, è:

arrotondati a incrementi di .000, .003, .007 o secondi