• As an aside, the date isn't stored just as an 'integer/float equivalent' which is why you're seeing this behaviour.

    A couple of years back I wrote an article for the Developers I worked with and it has this at the start:

    "The DATETIME field is stored with SQL Server as two 4-byte values. The first is the number of days since 01/01/1900 and the second is the number of milliseconds since midnight (actually 1/300 of a second segments – datetime2 is the newer, more accurate version). The two together give you the data and the time."

    The best resource I use for Date/Time manipulation is https://www.simple-talk.com/sql/learn-sql-server/robyn-pages-sql-server-datetime-workbench/ by Robyn Page and Phil Factor.