sql2008新增时间类数据类型学习

DECLARE @d1 as datetime
SET @d1=getdate()
PRINT @d1
--结果:传统型日期+时间全显示
--Mar 15 2012  4:38PM


DECLARE @dt as DATE
SET @dt=getdate()
PRINT @dt
--结果只有日期,不包括时间部分。DATE数据类型的取值范围从0001-01-01到9999-12-31。
--2012-03-15


DECLARE @d2 as time
SET @d2=getdate()
PRINT @d2
--以上脚本输出结果只包含时间部分,其取值范围从00:00:00.0000000到23:59:59.9999999。
--16:40:02.2000000


/*
DATETIME2数据类型
新的DATETIME2数据类型也是一种数据时间混合的数据类型,
不过其时间部分秒数的小数部分可以保留不同位数的值,比原来的DATETIME数据类型取值范围要广。
用户可以根据自己的需要通过设置不同的参数来,设定小数位数,
最高可以设到小数点后七位(参数为7),也可以不要小数部分(参数为0),以此类推。以下是利用DATETIME2的查询语句:
*/
DECLARE @d3 as datetime2(7)
SET @d3=getdate()
PRINT @d3
--2012-03-15 16:42:33.2770000

DECLARE @d4 as datetime2(0)
SET @d4=getdate()
PRINT @d4
--2012-03-15 16:42:53

--DATETIMEOFFSET带时区的显示
DECLARE @dt5 DATETIMEOFFSET(0)
SET @dt5='2007-12-04 21:20:30-1:00'
DECLARE @dt1 DATETIMEOFFSET(0)
SET @dt1='2007-12-04 21:20:30+5:00'
SELECT DATEDIFF(hh,@dt5,@Dt1)
--结果:-6

原文地址:https://www.cnblogs.com/lindaWei/p/2398326.html