Quote:
Values with the datetime data type are stored internally by Microsoft SQL Server as two 4-byte integers. The first 4 bytes store the number of days before or after the base date, January 1, 1900. The base date is the system reference date. Values for datetime earlier than January 1, 1753, are not permitted. The other 4 bytes store the time of day represented as the number of milliseconds after midnight.
Quote:
The smalldatetime data type stores dates and times of day with less precision than datetime. SQL Server stores smalldatetime values as two 2-byte integers. The first 2 bytes store the number of days after January 1, 1900. The other 2 bytes store the number of minutes since midnight. Dates range from January 1, 1900, through June 6, 2079, with accuracy to the minute.
Regarding your comment about it being easier to handle this way: From my experience, no matter how you slice it, you're going to have to do work to handle dates. I do think you are better off letting SQL server manage dates for you, but yes, you have to explore the world of login connections where the default language determines date format (mdy, dmy, ymd) or make sure you use SET DATE FORMAT before every SQL execute. After all, what are we paying Mr. Gates for anyway?