我认为DATETIME2是存储date的更好方法,因为它比date的效率更高DATETIME。在SQL Server 2008中,您可以使用DATETIME2,它存储一个日期和时间,需要6-8bytes来存储,精度为100 nanoseconds。所以任何需要更高时间精度的人都会想要DATETIME2。
DECLARE @temp TABLE (sdt smalldatetime,dt datetime,dt20 datetime2(0),dt27 datetime2(7))
INSERT @tempSELECT getdate(),getdate(),getdate(),getdate()
SELECT sdt,DATALENGTH(sdt) as sdt_bytes,dt,DATALENGTH(dt) as dt_bytes,dt20,DATALENGTH(dt20) as dt20_bytes,dt27, DATALENGTH(dt27) as dt27_bytes FROM @temp