SQL Server przechowuje część czasu jako liczbę 1/300 drugie długie tiki od północy.
23:59:59.999 zostaje zaokrąglona do najbliższego tiku, który wypada 00:00:00.000 następnego dnia.
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
W pierwszej wartości część daty, 0x9B8F (39823 ) to liczba dni od Jan 1st, 1900 i część czasu, 0 , to liczba tików od północy.
W drugiej wartości 0x018B81FF (25919999 lub 24 * 60 * 60 * 300 - 1 ) to maksymalna możliwa liczba tików od północy.
Wreszcie trzecia wartość ma 0 w części czasu, a część daty wzrosła o jeden.