Nachtrag zum Datetime Datentypen

By Frank Kalis

Posted on Jul 13, 2004 von in SQL Server


Die anderen 4 Byte speichern die Tageszeit, die als Anzahl der Millisekunden seit Mitternacht dargestellt wird.

Dies kann man in der Januar 2004 Edition von BOL  nachlesen.


Gibt man z.B. den Wert 300 in die zweiten 4-bytes eines Datetimes ein, erhält man als Ergebnis 1 Sekunden anstelle von 300 Millisekunden.
DECLARE @threehundred BINARY(8)
SET @threehundred = 0x00000000 + CAST(300 AS BINARY(4))
SELECT
	@threehundred, CAST(@threehundred AS DATETIME)
                                           
------------------ ------------------------ 
0x000000000000012C 1900-01-01 00:00:01.000

(1 row(s) affected)

Wenn nun diese eine Sekunde bewirkt, dass ein Integerwert von 300 gespeichert wird, bedeutet dies im Umkehrschluss, dass nicht 300 Millisekunden gespeichert werden, sondern 300/300 einer Sekunde, also eine Sekunde. In diesem Zusammenhang ist auch noch dieser Beitrag interessant.

Danke an SQL Server MVP Steve Kass für diesen Tip.

Dieser Eintrag wurde eingetragen von und ist abgelegt unter SQL Server. Tags: , ,

Noch kein Feedback


Formular wird geladen...