当前位置:首页 >探索 >SQL Server常用的日期和时间函数梳理 希望对大家能有所帮助

SQL Server常用的日期和时间函数梳理 希望对大家能有所帮助

2024-06-30 17:41:12 [百科] 来源:避面尹邢网

SQL Server常用的日期日期和时间函数梳理

作者:数据库技术分享社区 数据库 SQL Server 今天给大家分享SQLServer常用的日期和时间函数相关的知识,希望对大家能有所帮助!间函

 今天给大家分享SQLServer常用的数梳日期和时间函数相关的知识,希望对大家能有所帮助!

[[383363]]

SQL Server常用的日期和时间函数梳理 希望对大家能有所帮助

1、日期DATEADD(datepart,间函number,date)

SQL Server常用的日期和时间函数梳理 希望对大家能有所帮助

作用:返回给指定日期加一个时间间隔后新的datetime值

SQL Server常用的日期和时间函数梳理 希望对大家能有所帮助

参数说明:

datepart:指定为日期的哪部分增加数值。

常用的数梳值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小时(hh),分钟(mi,n),秒(ss/s)。

number:指定要增加的日期数值。如果是间函非整数将会舍去小数部分。负数表示减去相应的数梳时间间隔。

date:表示要处理的日期日期。

用法: 

  1. -- 在指定日期上加三个月 
  2. select DATEADD(mm,间函3,'2020-12-30'); 
  3. -- 指定日期减一天 
  4. 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返回负值。

用法: 

  1. 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:日期表达式

用法: 

  1. DateName(quarter,GetDate()) as '第几季度' 
  2. DateName(week,GetDate()) as '一年中的第几周' 
  3. DateName(DAYOFYEAR,GetDate()) as '一年中的第几天' 
  4. DateName(year,GetDate()) as '年' 
  5. DateName(month,GetDate()) as '月' 
  6. DateName(day,GetDate()) as '日' 
  7. DateName(hour,GetDate()) as '时' 
  8. DateName(minute,GetDate()) as '分' 
  9. DateName(second,GetDate()) as '秒' 

4、DATEPART(deatpart,date)

返回指定日期中指定部分的整数。用法和DATENAME相似,返回值为整数。比如: 

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

5、DAY|MONTH|YEAR 函数

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

用法: 

  1. SELECT DAY('2021-02-09') --返回 9 
  2. SELECT MONTH('2021-02-09') --返回 2 
  3. SELECT YEAR('2021-02-09') --返回 2021 

6、EOMONTH(input[,month_to_add])

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

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

用法: 

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

7、FROMPARTS

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

格式:DATEFROMPARTS(year,month,day)

参数说明:

year:输入年份的整数值

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

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

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

用法: 

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

8、GETDATE()

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

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

9、GETUTCDATE()

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

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

 【编辑推荐】

  1. 如何为应用程序选择合适的数据库
  2. 2020年 软考中级 数据库系统工程师 视频教程 全套(基础知识+真题讲解+案例专题)
  3. 2021年软考数据库系统工程师-上午历年真题解析视频课程
  4. C#SQL Server数据库技术视频课程
  5. 98%的DBA不知道的数据库内存知识点

 

责任编辑:华轩 来源: 今日头条 SQLServer数据库时间

(责任编辑:焦点)

    推荐文章
    热点阅读