Early databases only offered a single data type of datetime to store date and time information. Database store datetime fields internally as binary data. The data is then converted and displayed in a human readable format to the user. The majority of databases store a datetime field as a binary number that represents a number of seconds from a constant datetime.
Problems arise when only a date or only a time is stored in a datetime field. The absence of a date or time will cause the database to use the internal constant date or time. The following examples use MS SQL Server, but you will also find this same issue in Oracle and DB2. An example of a date stored without a time: A date of 4/20/2010 stored in SQL server a datetime field is acctally stored as 04/20/2010 00:00:00. The time is defaulted to midnight. An example of a time with no date: A time of 5:31:49 PM stored in a SQL server datetime field will be stored as 1/01/1901 5:31:49 PM. In this case SQL server has defaulted the date to an internal program constant of 1/01/1901.
Datetime fields do not indicate a null portion of the field. This can skew results when trying to do analysis. A time analysis cannot determine if the time of an item occurred at midnight or the time was never entered.