DATEDIFF()- Date Functions-SQL函数

发布于:2024-07-26 ⋅ 阅读:(118) ⋅ 点赞:(0)

DATEDIFF()- Date Functions

  • DATEDIFF() 函数是一种用于计算日期差异的常见日期函数。

  • 通常用于比较两个日期之间的时间跨度,以便进行日期计算和分析。

在这里插入图片描述

语法

大多数数据库中,DATEDIFF() 函数的语法:

在这里插入图片描述

DATEDIFF(unit, start_date, end_date)
  • unit: 这是一个必需的参数,用于指定计算日期差的单位。常见的单位包括:

    • DAY, DD: 天数(默认)
    • WEEK, WK: 周数
    • MONTH, MM: 月数
    • QUARTER, QQ: 季度数
    • YEAR, YY: 年数
  • start_date: 起始日期,通常是一个日期或者日期时间表达式。

  • end_date: 结束日期,也是一个日期或者日期时间表达式。

在这里插入图片描述

返回值

DATEDIFF() 函数返回一个整数值,表示在指定的单位内,从 start_dateend_date 的时间差。具体返回值的解释如下:

  • 如果 start_dateend_date 之前,则返回正数。
  • 如果 start_dateend_date 之后,则返回负数。
  • 如果 start_dateend_date 相等,则返回 0。

在这里插入图片描述

eg.

  1. 计算天数差

    SELECT DATEDIFF('2024-07-20', '2024-07-15') AS days_diff;
    

    结果为 5,即从 2024 年 7 月 15 日到 2024 年 7 月 20 日的天数差。

  2. 计算月数差

    SELECT DATEDIFF(MONTH, '2023-03-15', '2024-07-23') AS months_diff;
    

    结果为 16,即从 2023 年 3 月 15 日到 2024 年 7 月 23 日的月数差。

  3. 计算当前日期与某一列的日期差

    SELECT DATEDIFF(DAY, order_date, CURRENT_DATE()) AS days_since_order
    FROM orders;
    

    返回每个订单的日期与当前日期之间的天数差,可用于跟踪订单的时效性。

在这里插入图片描述

Tips:

  • 日期格式:在使用 DATEDIFF() 函数时,确保传递的日期格式符合数据库的要求,通常是 YYYY-MM-DD

  • 跨数据库的差异:不同的数据库系统可能对日期函数的实现和支持有所不同,例如,有些数据库可能支持额外的日期单位,或者可能有不同的函数名称和用法。


习题:

在这里插入图片描述
在这里插入图片描述

select n2.id
from new_cases as n1
join new_cases as n2
where DATEDIFF(n2.date, n1.date) = 1 and n2.increased_count > n1.increased_count

在这里插入图片描述

select datediff(created_at,'2018-01-13') as date_diff 
from courses 

网站公告

今日签到

点亮在社区的每一天
去签到