今天给大家分享一下SQLServer中常用的关于日期和时间函数的知识,希望对你有所帮助!1、DATEADD(日期部分,数字,日期)函数:在给指定日期添加时间间隔后,返回新的日期时间值。参数描
今天给大家分享一下SQLServer中常用的关于日期和时间函数的知识,希望对你有所帮助!
1、DATEADD(日期部分,数字,日期)函数:在给指定日期添加时间间隔后,返回新的日期时间值。
参数描述:
Datepart:指定要向日期的哪一部分添加数值。
常用的值有:年(yyyy)、季(qq/q)、月(mm/m)、日(day/dd/d)、周(wk/ww)、时(hh)、分(mi,n)、秒(ss/s)。
数字:指定要增加的值。如果是非整数,小数部分将被丢弃。负数意味着减去相应的时间间隔。
日期:指明要处理的日期。
用法:
-- 在指定日期上加三个月select DATEADD(mm,3,'2020-12-30');-- 指定日期减一天select DATEADD(day,-1,'2020-12-30');
2、DATEDIFF(日期部分,开始日期,结束日期)功能:指定两个时间之间的时间差。例如天、小时、分钟等。
参数描述:
Datepart:指定返回的日期时间维度(天、小时、分钟)。
常用的值有:年(yyyy)、季(qq/q)、月(mm/m)、日(day/dd/d)、周(wk/ww)、时(hh)、分(mi,n)、秒(ss/s)。
Startdate:可以理解为被减数。
End:可以理解为还原。如果开始日期大于结束日期,则返回负值。
用法:
SELECT DATEDIFF(day,'2021-02-05','2021-02-09') AS DiffDate --返回 4天
3、日期名称(数据部分,日期)效果:返回指定日期的指定部分的字符串。
参数描述:
Datepart:指定返回的日期时间维度(天、小时、分钟)。
常用的值有:年(yyyy)、季(qq/q)、月(mm/m)、日(day/dd/d)、周(wk/ww)、时(hh)、分(mi,n)、秒(ss/s)。
日期:日期表达式
用法:
DateName(quarter,GetDate()) as '第几季度'DateName(week,GetDate()) as '一年中的第几周'DateName(DAYOFYEAR,GetDate()) as '一年中的第几天'DateName(year,GetDate()) as '年'DateName(month,GetDate()) as '月'DateName(day,GetDate()) as '日'DateName(hour,GetDate()) as '时'DateName(minute,GetDate()) as '分'DateName(second,GetDate()) as '秒'
4、日期部分(数据部分,日期)返回指定日期的指定部分的整数。与DATENAME类似,返回值是一个整数。例如:
SELECT DATEPART(weekday,'20210209') --返回值为2SELECT DateName(weekday,'20210209') --返回值为星期二
5.日|月|年函数函数:返回指定日期的日/月/年部分。您可以用DATEPART替换它。
用法:
SELECT DAY('2021-02-09') --返回 9SELECT MONTH('2021-02-09') --返回 2SELECT YEAR('2021-02-09') --返回 2021
6、EOMONTH(输入[,month_to_add])角色:这个函数是在SQLServer 2012中引入的。EOMONTH函数用于返回指定日期之前或之后的一个月的最后一天的日期。
语法:=EOMONTH(开始日期,指定开始日期前后的月份)
用法;
DECLARE @date DATETIME = '2021-02-09';SELECT EOMONTH ( @date,7) AS Result; --加七个月的月末日期 2021-09-30SELECT EOMONTH ( @date,-2) AS Result; -- 减两个月的月末日期 2020-12-31
7、从零件功能:根据输入的年月日参数生成日期值,并返回。
格式:DATEFROMPARTS(年、月、日)
参数描述:
年:输入年的整数值。
月:输入1到12之间的月数。
日:输入年和月对应的日的整数值。
注意:如果上述三个参数中的任何一个为null,则返回null。
用法:
SELECT DATEFROMPARTS (2020,2,09) AS [生成日期数据]; --2020-02-09
8、获取日期()这个太常见了,就是获取系统的当前时间。
SELECT GETDATE() --返回结果 2021-02-09 08:28:11.307
9、GETUTCDATE()返回的当前UTC时间。家用减少八小时。
SELECT GETUTCDATE() --返回结果 2021-02-09 00:29:21.710