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

 

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

 

 

你可能感兴趣的:(数据库视频)