我们正在构建一个在每个表(CreatedDate,LastUpdateDate)上都有审计字段的系统,这些字段当前是DATETIME
个字段。
两者的值都是通过.Net代码(通过EF)设置的。
将这些全部更改为DATETIME2会有任何好处吗?
和...
没有触发器,有没有办法可以在桌面上的Update / Insert上设置它们?将GETDATE()的DEFAULT添加到'CreatedDate'可能对该字段有帮助(虽然它仍然可以被.Net代码覆盖)......但是我可以用LastUpdateDate做什么?
答案 0 :(得分:0)
好的,这个问题很受欢迎。如果您更关心兼容性而不是精确度,那么您的第一部分答案将是,使用日期时间。 某些客户端不支持日期,时间或日期时间2并强制您转换为字符串。所以明智地使用它。更多关于datetime2的范围更广。
SQL Server datetime2 vs datetime https://technet.microsoft.com/en-us/library/bb677335.aspx http://sqlhints.com/2011/09/17/difference-between-datetime-and-datetime2-datatype/
对不起,我无法正确理解你问题的第二部分。如果你请清楚我。