WEB开发网
开发学院数据库MSSQL Server SQL Server 2008 中新的日期时间数据类型 阅读

SQL Server 2008 中新的日期时间数据类型

 2007-12-04 09:51:07 来源:WEB开发网   
核心提示: DECLARE@dtasDATESET@dt=getdate()PRINT@dt以上脚本的输出结果只有日期,不包括时间部分,SQL Server 2008 中新的日期时间数据类型(2),DATE数据类型的取值范围从0001-01-01到9999-12-31,TIME数据类型就像日期数据类型

  DECLARE@dtasDATE
  SET@dt=getdate()
  PRINT@dt

以上脚本的输出结果只有日期,不包括时间部分。DATE数据类型的取值范围从0001-01-01到9999-12-31。

TIME数据类型

就像日期数据类型一样,如果你只想存储时间数据而不需要日期部分就可以利用TIME数据类型。下面就是利用TIME数据类型进行查询的例子:

  DECLARE@dtasTIME
  SET@dt=getdate()
  PRINT@dt

以上脚本输出结果只包含时间部分,其取值范围从00:00:00.0000000到23:59:59.9999999。

DATETIME2数据类型

新的DATETIME2数据类型也是一种数据时间混合的数据类型,不过其时间部分秒数的小数部分可以保留不同位数的值,比原来的DATETIME数据类型取值范围要广。用户可以根据自己的需要通过设置不同的参数来,设定小数位数,最高可以设到小数点后七位(参数为7),也可以不要小数部分(参数为0),以此类推。以下是利用DATETIME2的查询语句:

  DECLARE@dt7datetime2(7)
  SET@dt7=Getdate()
  PRINT@dt7

该语句的输出结果中时间的秒数部分精确到小数点后第七位。

DATETIMEOFFSET数据类型

如果把日期和时间数据保存在一列里,是不会提示该日期和时间属于哪一个时区的。时区的提示非常重要,特别是当你处理数据包含了多个不同时区的国家时。新的DATETIMEOFFSET数据类型可以定义一个日期和时间组合,其中时间以24小时制显示,并带有时区提示。下面的语句说明了DATETIMEOFFSET数据类型的用法:

  DECLARE@dtDATETIMEOFFSET(0)
  SET@dt='2007-12-0421:20:30-1:00'
  DECLARE@dt1DATETIMEOFFSET(0)
  SET@dt1='2007-12-0421:20:30+5:00'
  SELECTDATEDIFF(hh,@dt,@Dt1)

Tags:SQL Server 中新

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接