数据库常用的日期和时间函数梳理

    作者:数据库技术分享社区更新于: 2021-07-02 18:21:09

    SQLServer常用的日期和时间函数梳理。严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。

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

    数据库常用的日期和时间函数梳理

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

    用法:

    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 
      数据库(Database)是按照 数据结构来组织、 存储和管理数据的建立在计算机存储设备上的仓库。
      简单来说是本身可视为 电子化的文件柜——存储电子 文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

课课家教育

未登录