如何在MySQL中计算两个日期的间隔天数

目录

  • [1. DATEDIFF函数](#1. DATEDIFF函数)
  • [2. TIMESTAMPDIFF函数](#2. TIMESTAMPDIFF函数)
  • [3. PERIOD_DIFF函数](#3. PERIOD_DIFF函数)
  • [4. 函数对比](#4. 函数对比)

在MySQL 5.7中,计算两个日期之间的间隔天数是一项常见的任务。

1. DATEDIFF函数

DATEDIFF函数可以直接计算两个日期之间的天数差异。

sql 复制代码
-- 计算2024年1月1日和2024年1月10日之间的天数差异
SELECT DATEDIFF('2024-01-10', '2024-01-01') AS days_difference; # 结果 9,表示两个日期之间相差9天。

2. TIMESTAMPDIFF函数

TIMESTAMPDIFF函数允许你指定日期和时间单位来计算差异,这里我们使用DAY作为单位。

sql 复制代码
-- 计算2024年1月1日和2024年1月10日之间的天数差异
SELECT TIMESTAMPDIFF(DAY, '2024-01-01', '2024-01-10') AS days_difference; # 结果 9

3. PERIOD_DIFF函数

PERIOD_DIFF函数专门用于计算两个日期之间的月份差异。

sql 复制代码
-- 计算2024年1月和2024年12月之间的月份差异
SELECT PERIOD_DIFF(202412, 202401) AS months_difference; # 结果 -11

表示从2024年1月到2024年12月相差11个月(注意结果是负数,因为第二个日期在第一个日期之后)。

4. 函数对比

下面是一个表格,对比了DATEDIFFTIMESTAMPDIFFPERIOD_DIFF这三个函数的区别:

函数 用途 单位/参数 返回值类型
DATEDIFF 计算两个日期之间的天数差异 天数
TIMESTAMPDIFF 计算两个日期/时间之间的差异,可以指定单位(如天、月、年) 指定单位
PERIOD_DIFF 计算两个日期之间的月份差异 月份
相关推荐
weelinking3 小时前
【2026】08_Claude与版本控制:Git协作技巧
数据库·人工智能·git·python·数据挖掘·交互·cloudera
黄焖鸡能干四碗7 小时前
固定资产管理系统建设方案和源码(Java源码)
大数据·数据库·人工智能·物联网·区块链
JoneBB8 小时前
ABAP Webservice连接
运维·开发语言·数据库·学习
解决问题no解决代码问题8 小时前
从乱码到脱敏导出:TiDB CSV 导出实战全指南
数据库
未若君雅裁8 小时前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
2401_867623988 小时前
CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法
jvm·数据库·python
月落归舟8 小时前
一篇文章了解Redis内存淘汰机制与过期Key清理
数据库·redis·mybatis
phltxy9 小时前
Redis 事务
数据库·redis·缓存
康乾隆9 小时前
SQL Server Always On 重新添加从库步骤
数据库·sqlserver
环流_9 小时前
redis核心数据类型在java中的操作
java·数据库·redis