My company is preparing a from-scratch new version of an existing product, and one of the changes we're making is to switch from SQL Server 2005 to 2008. We're currently trying to decide whether we should switch from datetime
to datetime2
for columns that hold date & time information.
We know datetime2
is (strongly) recommended, but some of our customers have their own SQL Server databases (version unknown) that they run side-by-side with our product's database, and they sometimes pull data from our database to use with their own database operations.
Obviously we're risking cast errors if they attempt to store a datetime2
with too much precision from our database in a datetime
column in their database, but we're also wondering if there might be problems with comparisons. The behavior of comparing floats to doubles is somewhat non-intuitive in a lot of programming languages; would there be similar problems in comparing datetime
values to datetime2
values?