Is there a setting in SQLServer 2008 and newer for default data type of date-time columns, i.e. datetime
or datetime2
? Actually more like something that would tell SQLServer to use datetime2
instead of datetime
when creating a table/view even if the latter is requested explicitly.
UPDATE: Thank you everyone. With this issue I am actually on the pitching side, that is creating tables from Java application that are supposed to have datetime
columns, but end up having datetime2
. Thought it might be due to DBMS configuration, but, probably, it's due to intricacies of one of our frameworks. Oh well, back to digging code 🙂
P.S. Special thank you goes to @srutzky for detailed response with multiple options, but accepted @John M's answer as being the most spot on.
Best Answer
No, there isn't a way to automatically change a
datetime
field to adatetime2
field if the former is specified in a table creation.To do it manually:
ALTER TABLE [table] MODIFY COLUMN [column] DATETIME2;
If the issue pertains to end users, education is your best bet to make the creation of tables more uniform and compliant with using
datetime2
.