SQL Server中有哪些常用的日期和时间函数
SQL Server中有哪些常用的日期和时间函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1、DATEADD(datepart,number,date)
作用:返回给指定日期加一个时间间隔后新的datetime值
参数说明:
datepart:指定为日期的哪部分增加数值。
常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小时(hh),分钟(mi,n),秒(ss/s)。
number:指定要增加的数值。如果是非整数将会舍去小数部分。负数表示减去相应的时间间隔。
date:表示要处理的日期。
用法:
--在指定日期上加三个月selectDATEADD(mm,3,'2020-12-30');--指定日期减一天selectDATEADD(day,-1,'2020-12-30');
2、DATEDIFF(datepart,startdate,enddate)
作用:指定两个时间相差的时间数。比如天、小时、分钟等等。
参数说明:
datepart:指定返回的日期时间维度(天、小时、分钟)。
常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小时(hh),分钟(mi,n),秒(ss/s)。
startdate:可以理解被减数。
enddate:可以理解减数。如果startdate大于enddate返回负值。
用法:
SELECTDATEDIFF(day,'2021-02-05','2021-02-09')ASDiffDate--返回4天
3、DATENAME(deatpart,date)
作用:返回指定日期的指定部分的字符串。
参数说明:
datepart:指定返回的日期时间维度(天、小时、分钟)。
常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小时(hh),分钟(mi,n),秒(ss/s)。
date:日期表达式
用法:
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、DATEPART(deatpart,date)
返回指定日期中指定部分的整数。用法和DATENAME相似,返回值为整数。比如:
SELECTDATEPART(weekday,'20210209')--返回值为2SELECTDateName(weekday,'20210209')--返回值为星期二
5、DAY|MONTH|YEAR 函数
作用:返回指定日期所在 日/月/年的部分。可以用DATEPART替换。
用法:
SELECTDAY('2021-02-09')--返回9SELECTMONTH('2021-02-09')--返回2SELECTYEAR('2021-02-09')--返回2021
6、EOMONTH(input[,month_to_add])
作用:该函数是在SQLServer 2012中引入的。EOMONTH函数用来返回指定日期之前或之后某个月的最后一天的日期。
语法结构:=EOMONTH(开始日期,指定起始日期前后的月份)
用法:
DECLARE@dateDATETIME='2021-02-09';SELECTEOMONTH(@date,7)ASResult;--加七个月的月末日期2021-09-30SELECTEOMONTH(@date,-2)ASResult;--减两个月的月末日期2020-12-31
7、FROMPARTS
作用:根据输入的年、月、日参数生成一个日期值,并返回。
格式:DATEFROMPARTS(year,month,day)
参数说明:
year:输入年份的整数值
month:输入1~12之间的月份数
day:输入年月所对应的day整数值
注意:如果上面三个参数,任意一个参数输入null,则返回null。
用法:
SELECTDATEFROMPARTS(2020,2,09)AS[生成日期数据];--2020-02-09
8、GETDATE()
这个太常见了,就是获取系统当前时间。
SELECTGETDATE()--返回结果2021-02-0908:28:11.307
9、GETUTCDATE()
返回当前的UTC时间。国内使用减八小时。
SELECTGETUTCDATE()--返回结果2021-02-0900:29:21.710
关于SQL Server中有哪些常用的日期和时间函数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。