您的位置:首页 > 数据库

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

2018-01-14 21:13 573 查看
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

1

2

3

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

1

2

3

和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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: