SQL Server中有哪些常用的日期和时间函数

63次阅读
没有评论

共计 2243 个字符,预计需要花费 6 分钟才能阅读完成。

自动写代码机器人,免费开通

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: 表示要处理的日期。

用法:

--  在指定日期上加三个月  select DATEADD(mm,3, 2020-12-30  --  指定日期减一天  select DATEADD(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 返回负值。

用法:

SELECT DATEDIFF(day, 2021-02-05 , 2021-02-09) AS DiffDate -- 返回  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 相似,返回值为整数。比如:

SELECT DATEPART(weekday, 20210209) -- 返回值为 2  SELECT DateName(weekday, 20210209) -- 返回值为星期二 

5、DAY|MONTH|YEAR 函数

作用:返回指定日期所在 日 / 月 / 年的部分。可以用 DATEPART 替换。

用法:

SELECT DAY(2021-02-09) -- 返回  9 SELECT MONTH(2021-02-09) -- 返回  2 SELECT YEAR(2021-02-09) -- 返回  2021

6、EOMONTH(input[,month_to_add])

作用:该函数是在 SQLServer 2012 中引入的。EOMONTH 函数用来返回指定日期之前或之后某个月的最后一天的日期。

语法结构:=EOMONTH(开始日期,指定起始日期前后的月份)

用法:

DECLARE @date DATETIME =  2021-02-09  SELECT EOMONTH ( @date,7) AS Result; -- 加七个月的月末日期  2021-09-30 SELECT EOMONTH ( @date,-2) AS Result; --  减两个月的月末日期  2020-12-31

7、FROMPARTS

作用:根据输入的年、月、日参数生成一个日期值,并返回。

格式:DATEFROMPARTS(year,month,day)

参数说明:

year: 输入年份的整数值

month: 输入 1~12 之间的月份数

day: 输入年月所对应的 day 整数值

注意: 如果上面三个参数,任意一个参数输入 null, 则返回 null。

用法:

SELECT DATEFROMPARTS (2020,2,09) AS [生成日期数据]; --2020-02-09

8、GETDATE()

这个太常见了,就是获取系统当前时间。

SELECT GETDATE() -- 返回结果  2021-02-09 08:28:11.307

9、GETUTCDATE()

返回当前的 UTC 时间。国内使用减八小时。

SELECT GETUTCDATE() -- 返回结果  2021-02-09 00:29:21.710

关于 SQL Server 中有哪些常用的日期和时间函数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注丸趣 TV 行业资讯频道了解更多相关知识。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计2243字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)