📜  日期范围之间的 sql - SQL (1)

📅  最后修改于: 2023-12-03 15:10:28.021000             🧑  作者: Mango

日期范围之间的 SQL

在 SQL 中,我们经常需要查询某个日期范围之间的数据。本文将介绍如何在 SQL 中实现这一功能。

查询日期范围

要查询日期范围之间的数据,可以使用 BETWEEN 关键字。以下是一个示例:

SELECT * FROM orders
WHERE order_date BETWEEN '2020-01-01' AND '2020-12-31';

上面的 SQL 查询将返回 2020 年所有的订单记录。在 WHERE 子句中使用 BETWEEN 关键字来指定日期范围,其中第一个参数是开始日期,第二个参数是结束日期。

查询特定日期

如果要查询特定日期的数据,可以使用等于号 =。以下是一个示例:

SELECT * FROM orders
WHERE order_date = '2020-05-01';

上面的 SQL 查询将返回 2020 年 5 月 1 日的订单记录。在 WHERE 子句中使用等于号 = 来指定日期。

查询本周/本月/本年

如果要查询本周/本月/本年的数据,可以使用函数 WEEK(), MONTH(), YEAR(),结合 BETWEEN 关键字。以下是一些示例:

查询本周的订单记录:

SELECT * FROM orders
WHERE order_date BETWEEN DATE_SUB(NOW(), INTERVAL WEEKDAY(NOW()) DAY) AND NOW();

查询本月的订单记录:

SELECT * FROM orders
WHERE order_date BETWEEN DATE_SUB(NOW(), INTERVAL DAYOFMONTH(NOW()) - 1 DAY) AND NOW();

查询本年的订单记录:

SELECT * FROM orders
WHERE order_date BETWEEN DATE_SUB(NOW(), INTERVAL DAYOFYEAR(NOW()) - 1 DAY) AND NOW();

上面的 SQL 查询中,NOW() 函数返回当前日期和时间。WEEKDAY() 函数返回星期几,DAYOFMONTH() 函数返回当前月份的第几天,DAYOFYEAR() 函数返回当前年份的第几天。DATE_SUB() 函数用于计算开始日期和结束日期。

结论

本文介绍了在 SQL 中查询日期范围的不同方法,包括使用 BETWEEN 关键字和特定日期、本周/本月/本年等。这些方法可以帮助程序员更轻松地查询日期范围之间的数据。