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参数:

SQLServer系统函数之日期和时间函数_第1张图片

 

 

 

 

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

你可能感兴趣的:(SQLServer,日期函数,时间函数)