SQL Server系统函数:日期函数

余生长醉 提交于 2019-12-10 23:46:46
原文:SQL Server系统函数:日期函数

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())

 

发布了416 篇原创文章 · 获赞 135 · 访问量 94万+
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!