关于SQL Server的日期时间数据类型

SQL Server 2008 各种DateTime的取值范围(原文

SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset。

各时间类型范围、精度一览表:

数据类型 时间范围 精度
datetime 1753-01-01 到 9999-12-31
00:00:00 到 23:59:59.997
3.33毫秒
smalldatetime 1900-01-01 到 2079-06-06
00:00:00 到 23:59:59
分钟
date 0001-01-01 到 9999-12-31
time 00:00:00.0000000 到 23:59:59.9999999 100纳秒
datetime2 0001-01-01 到 9999-12-31
00:00:00 到 23:59:59.9999999
100 纳秒
datetimeoffset 0001-01-01 到 9999-12-31
00:00:00 到 23:59:59.9999999
-14:00 到 +14:00
100 纳秒

各时间类型表达式一览表:

数据类型 输出
time 12:35:29.1234567
date 2007-05-08
smalldatetime 2007-05-08 12:35:00
datetime 2007-05-08 12:35:29.123
datetime2 2007-05-08 12:35:29.1234567
datetimeoffset 2007-05-08 12:35:29.1234567 +12:15

Datetime数据类型之datetime2和datetimeoffset数据类型 (原文

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

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

猜你喜欢

转载自blog.csdn.net/qq_39019865/article/details/81061521
今日推荐