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

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值