DATEDIFF() 函数用于计算两个日期之间的差异,返回两个日期之间的天数。这个函数的语法如下:
DATEDIFF(end_date, start_date)

  •  end_date: 结束日期。

  •  start_date: 开始日期。


返回值是 end_date 减去 start_date 的天数差异。

示例

假设有一个表 events,其中包含活动的开始日期和结束日期,你可以使用 DATEDIFF() 函数来计算活动的持续时间。
CREATE TABLE events (
    event_name VARCHAR(255),
    start_date DATE,
    end_date DATE
);

INSERT INTO events (event_name, start_date, end_date)
VALUES
    ('Event 1', '2023-01-01', '2023-01-05'),
    ('Event 2', '2023-02-10', '2023-02-15'),
    ('Event 3', '2023-03-20', '2023-03-25');

计算活动的持续天数
SELECT
    event_name,
    start_date,
    end_date,
    DATEDIFF(end_date, start_date) AS duration
FROM events;

上述查询将返回每个活动的名称、开始日期、结束日期以及计算出的持续天数。

注意事项

  •  DATEDIFF() 返回的是两个日期之间的天数差异,如果 end_date 大于 start_date,则结果为正数;如果 end_date 小于 start_date,则结果为负数;如果两个日期相等,结果为 0。


  •  如果需要计算更精确的时间差,可以考虑使用 TIMESTAMPDIFF() 函数,该函数允许你指定时间单位,例如小时、分钟等。

TIMESTAMPDIFF(unit, end_datetime, start_datetime)




转载请注明出处:http://www.zyzy.cn/article/detail/8011/MySQL