SQL Server
lagrar tidsdel som nummer 1/300
andra långa tick från midnatt.
23:59:59.999
avrundas till närmaste bock som råkar vara 00:00:00.000
nästa dag.
SELECT CAST(CAST('2009-12-01 00:00:00.000' AS DATETIME) AS BINARY(8)),
CAST(CAST('2009-12-01 23:59:59.997' AS DATETIME) AS BINARY(8)),
CAST(CAST('2009-12-01 23:59:59.999' AS DATETIME) AS BINARY(8))
0x00009B8F 00000000 0x00009B8F 018B81FF 0x00009B90 00000000
I det första värdet, datumdelen, 0x9B8F
(39823
) är antalet dagar sedan Jan 1st, 1900
, och tidsdelen, 0
, är antalet fästingar sedan midnatt.
I det andra värdet, 0x018B81FF
(25919999
eller 24 * 60 * 60 * 300 - 1
) är det maximalt möjliga antalet fästingar sedan midnatt.
Slutligen har det tredje värdet 0
i tidsdelen och datumdelen ökade med ett.