1、返回当前日期和时间
-
select GETDATE() '当前日期-精确到33毫秒'
-
-
select GETUTCDATE() 'UTC日期和时间-精确到33毫秒'
-
-
select SYSDATETIME() '当前日期和时间-精确到100纳秒(高精度)'
-
-
select SYSUTCDATETIME() 'UTC-精确到100纳秒(高精度)'
-
-
select SYSDATETIMEOFFSET()'当前日期与UTC之间的差值(时分)'
2、转换偏移,从一个转为另一个,从UTC-05:00转为UTC+03:00:
'2007-08-12 10:20:35.9788989'是UTC减去'05:00'之后算出来的,
所以UTC是'2007-08-12 10:20:35.9788989'加'05:00',
也就是'2007-08-12 15:20:35.9788989',
然后'2007-08-12 15:20:35.9788989'加上'03:00',
也就是'2007-08-12 18:20:35.9788989'
select SWITCHOFFSET('2007-08-12 10:20:35.9788989 -05:00','+03:00')
将普通的日期时间型转为日期时间偏移,只是在日期时间后增加了offset值,返回:2007-08-12 10:20:35.0000000 -05:00
select TODATETIMEOFFSET('2007-08-12 10:20:35','-05:00')
3、显示日期一部分的字符串
-
select SYSDATETIME(),
-
DATENAME(year,SYSDATETIME()),
-
DATENAME(quarter,SYSDATETIME()),
-
DATENAME(month,SYSDATETIME()),
-
-
DATENAME(dayofyear,SYSDATETIME()),
-
DATENAME(day,SYSDATETIME()),
-
-
DATENAME(week,SYSDATETIME()),
-
DATENAME(weekday,SYSDATETIME()),
-
-
DATENAME(hour,SYSDATETIME()),
-
DATENAME(minute,SYSDATETIME()),
-
DATENAME(second,SYSDATETIME()),
-
DATENAME(millisecond,SYSDATETIME()),
-
DATENAME(microsecond,SYSDATETIME()),
-
DATENAME(nanosecond,SYSDATETIME()),
-
-
DATENAME(TZoffset,SYSDATETIME()),
-
DATENAME(ISO_WEEK,SYSDATETIME())
4、显示日期一部分的整数
-
select YEAR(GETDATE()),
-
MONTH(getdate()),
-
DAY(getdate())
-
-
-
select SYSDATETIME(),
-
DATEPART(year,SYSDATETIME()),
-
DATEPART(quarter,SYSDATETIME()),
-
DATEPART(month,SYSDATETIME()),
-
-
DATEPART(dayofyear,SYSDATETIME()),
-
DATEPART(day,SYSDATETIME()),
-
-
DATEPART(week,SYSDATETIME()),
-
DATEPART(weekday,SYSDATETIME()),
-
-
DATEPART(hour,SYSDATETIME()),
-
DATEPART(minute,SYSDATETIME()),
-
DATEPART(second,SYSDATETIME()),
-
-
DATEPART(millisecond,SYSDATETIME()),
-
DATEPART(microsecond,SYSDATETIME()),
-
DATEPART(nanosecond,SYSDATETIME()),
-
DATEPART(TZoffset,SYSDATETIME()),
-
DATEPART(ISO_WEEK,SYSDATETIME())
5、增加、减少日期值
-
SELECT DATEADD(quarter, 1, getdate()),
-
DATEADD(quarter,-1, getdate())
6、计算两个日期的差值
-
select DATEDIFF(DAY,'2011-08-09',GETDATE()),
-
DATEDIFF(MONTH,'2011-08-09',GETDATE())