📅  最后修改于: 2023-12-03 14:44:28.018000             🧑  作者: Mango
在 MySQL 中,我们可以使用 BETWEEN
语句和 DATE_ADD
函数来获取两个日期之间的日期列表。
SELECT *
FROM table_name
WHERE date_column BETWEEN start_date AND end_date;
或者使用 DATE_ADD
函数:
SELECT *
FROM table_name
WHERE date_column >= start_date
AND date_column <= DATE_ADD(start_date, INTERVAL num_of_days DAY);
假设我们有一张名为 orders
的表格,其中包含以下列:
| 列名 | 类型 | | ---------- | ---------- | | order_id | INT | | order_date | DATE | | customer | VARCHAR(50) |
我们想获取 2021 年 6 月 1 日至 2021 年 6 月 30 日之间所有订单的列表:
SELECT *
FROM orders
WHERE order_date BETWEEN '2021-06-01' AND '2021-06-30';
或者使用 DATE_ADD
函数:
SELECT *
FROM orders
WHERE order_date >= '2021-06-01'
AND order_date <= DATE_ADD('2021-06-01', INTERVAL 29 DAY);
以上两个例子将返回 2021 年 6 月 1 日至 2021 年 6 月 30 日之间的所有订单。
请注意,以上示例中的日期格式为 YYYY-MM-DD
。如果您的日期列有不同的格式,请相应地更改查询中的日期格式。
另外,请确保 start_date
小于或等于 end_date
,否则将不会返回任何结果。
通过使用 BETWEEN
语句和 DATE_ADD
函数,我们可以轻松地获取 MySQL 中两个日期之间的日期列表。这使得我们可以轻松地计算日期范围内的数据。