Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Warum verliert SQL Server eine Millisekunde?

SQL Server speichert die Zeit nur bis zu ungefähr 1/300 Sekunde. Diese fallen immer auf die 0, 3 und 7 Millisekunden. Z.B. von 0 in der kleinsten Schrittweite hochzählen:

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

Wenn Sie diese Genauigkeit im Millisekundenbereich benötigen, führt kein angenehmer Weg daran vorbei. Die besten Optionen, die ich gesehen habe, bestehen darin, den Wert in benutzerdefinierten Zahlenfeldern zu speichern und ihn jedes Mal neu zu erstellen, wenn Sie den Wert abrufen, oder ihn als Zeichenfolge in einem bekannten Format zu speichern. Sie können dann (optional) aus Gründen der Geschwindigkeit ein "ungefähres" Datum im nativen Datumstyp speichern, aber es führt zu einer konzeptionellen Komplexität, die oft nicht erwünscht ist.