SQLServer系统函数之日期和时间函数

1.Current_Timestamp :返回当前系统时间

--无参数
--返回datetime类型
select Current_Timestamp as 当前系统时间 --2019-09-22 23:46:53.623

2.Dateadd():在日期中添加或减去指定的时间间隔

--语法:Dateadd(datepart,number,date)
--datepart:要将其与整数值相加的 date 的一部分
--number:时间间隔数,可以是正数也可以是负数
--date:日期
--返回datetime类型
select Dateadd(dd,3,Getdate()) --返回当前时间加三天
select Dateadd(mm,-3,Getdate())--返回当前时间减三个月

3.Datediff():返回时间差

--语法Datediff(datepart,startdate,enddate)
--datepart:用于报告 startdate 与 enddate 之间差异的单位
--startdate:开始日期
--enddate:结束日期
--返回int类型
select Datediff(dd,'2019-07-01','2019-07-25')--返回24
select Datediff(mm,'2019-11-01','2019-10-10')--返回-1

4.Datename():返回表示指定日期的指定日期部分的字符串

--语法:Datename(datepart,date)
--返回字符串类型
select Datename(dd,getdate())--获取当前日
select Datename(mm,getdate())--获取当前月份
select Datename(yy,getdate())--获取当前年份

5.Datepart():返回表示指定日期的指定日期部分的整数

--语法:Datepart(datepart,date)
--返回int类型
select Datepart(day,getdate())--获取当天
select Datepart(month,getdate())--获取当前月份
select Datepart(year,getdate())--获取当前年份

6.Day():返回表示指定日期的“日”日期部分的整数

--语法:Day(datetime)
--返回int类型
select Day(getdate())--返回当前日
select Day('2019-09-22')--返回22

7.Getdate():返回当前系统的日期和时间

--语法:Getdate()
--返回datetime类型
select Getdate()

8.Getutcdate():返回当前UTC(通用协调时,世界标准时间)时间

--语法:Getutcdate()
--返回datetime类型
select Getutcdate()--北京时间减八个小时

9.Isdate():确定输入表达式是否为有效的日期,返回1代表true,0代表false

--语法:Isdate(varchar)
--返回int类型
select Isdate('2019-20-01')--返回0
select Isdate('2019-01-01')--返回1

10.Month():返回指定日期的“月”部分的整数

--语法:Month(datetime)
--返回:int类型
select Month(getdate())--返回当前月份
select Month('2019-07-01')--返回7

11.Sysdatetime():返回当前系统时间的 datetime2(7) 值

--语法:Sysdatetime()
--返回datetime2(7)
select Sysdatetime()

12.Sysdatetimeoffset():返回当前系统时间的datetimeoffset(7)值,包含时区偏移量

--语法:Sysdatetimeoffset()
--返回datetimeoffset类型
select Sysdatetimeoffset()

13.Sysutcdatetime():返回当前UTC(世界标准时间)的datetime2(7)值

--语法:Sysutcdatetime()
--返回:datetime2(7)类型
select Sysutcdatetime()

14.Switchoffset():将datetimeoffset值从保留的时区偏移量改为新值

--语法:Switchoffset(datetimeoffset,时区)
--datetimeoffset:表达式式
--时区:varchar
--返回datetimeoffset
DECLARE @dt datetimeoffset = switchoffset (CONVERT(datetimeoffset, GETDATE()), '-04:00') 
SELECT * FROM  table_name   
WHERE  dt2> @dt Option (Recompile) --重新编译、提高性能

15.Todatetimeoffset():返回从 datetime2 表达式转换的 datetimeoffset 值

--语法:Todatetimeoffset(expression,时区)
--返回datetimeoffset类型
DECLARE @todaysDateTime datetime2
SET @todaysDateTime = GETDATE()  
SELECT Todatetimeoffset (@todaysDateTime, '-07:00')

16.Year():返回指定日期的“年”部分的整数

--语法:Year(datetime)
--返回int类型
select Year(getdate())--当前年份

17.Datepart参数:

 

 

 

 

具体参考微软官方文档:https://docs.microsoft.com/zh-cn/sql/t-sql/functions/dateadd-transact-sql?view=sql-server-2017 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值