datetime、datetime2的区别

SQL Server 2008 中新的日期时间类型: datetime2和datetimeoffset数据类型。

Datetime:

       时间格式,对应于数据库中的DateTime类型,对应于.NET里面的System. DateTime类型。DateTime支持日期从1753年1月1日到9999年12月31日,时间部分的精确度是3.33毫秒,它需要8字节的存储空间。

Datetime2:

      时间格式,就Sql Server 2008 里面新增的字段类型。对应于数据库中的DateTime2格式,对应于.NET里面的System. DateTime类型。DateTime2则支持从0001年01月01日到9999年12月31日,时间部分的精度是100纳秒,占用6到8字节的存储空间,取决于存储的精度。


datetime2数据类型,类似于之前的datetime类型,不过其精度比较高,可以精确到小数点后面7位(100ns),其使用语法为:datetime2(n)。使用示例:

declare   @dt   as  datetime2( 5 )
set   @dt   =   getdate ()
select   @dt

datetimeoffset数据类型,加入了时区偏移量部分,时区偏移量表示为 [+|-] HH:MM。 HH 是范围从 00 到 14 的 2 位数,表示时区偏移量的小时数。 MM 是范围从 00 到 59 的 2 位数,表示时区偏移量的附加分钟数。 时间格式支持到最小 100 毫微秒。 必需的 + 或 - 符号指示在 UTC(通用协调时间或格林尼治标准时间)中是加上还是减去时区偏移量以获取本地时间。使用示例:

declare   @dt   as  datetimeoffset( 8 )
set   @dt   =   ' 2008-08-08 08:08:08.0 +8:00 '
select   @dt

和CLR数据类型之间的映射关系:

SQL 数据类型 .NET Framework 类型 System.Data.SqlDbType System.Data.DbType
date System.DateTime Date Date
time System.TimeSpan Time Time
datetime2 System.DateTime DateTime2 DateTime2
datetimeoffset System.DateTimeOffset DateTimeOffset DateTimeOffset
datetime System.DateTime DateTime DateTime
smalldatetime System.DateTime DateTime

DateTime

你可能感兴趣的:(ASP.NET)