MySQL 查询以计算具有开始日期和结束日期的日期范围内的天数

mysqlmysqli database更新于 2025/10/4 11:24:17

要计算日期范围内的天数,您需要使用 DATEDIFF() 找出日期之间的差值。

首先我们创建一个表:

mysql> create table DemoTable730 (
   StartDate date,
   EndDate date
);
Query OK, 0 rows affected (0.45 sec)

使用 insert 在表中插入一些记录 command:

mysql> insert into DemoTable730 values('2019-01-21','2019-07-21');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable730 values('2018-10-11','2018-12-31');
Query OK, 1 row affected (0.46 sec)
mysql> insert into DemoTable730 values('2016-01-01','2016-12-31');
Query OK, 1 row affected (0.14 sec)

使用 select 语句显示表中的所有记录:

mysql> select *from DemoTable730;

这将产生以下输出 -

+------------+------------+
| StartDate  | EndDate    |
+------------+------------+
| 2019-01-21 | 2019-07-21 |
| 2018-10-11 | 2018-12-31 |
| 2016-01-01 | 2016-12-31 |
+------------+------------+
3 rows in set (0.00 sec)

以下是计算日期范围内天数的查询:

mysql> select ABS(DATEDIFF(StartDate,EndDate)) AS Days from DemoTable730;

这将产生以下输出 -

+------+
| Days |
+------+
| 181  |
| 81   |
| 365  |
+------+
3 rows in set (0.00 sec)

相关文章


有用资源