📅  最后修改于: 2023-12-03 15:10:28.021000             🧑  作者: Mango
在 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
关键字和特定日期、本周/本月/本年等。这些方法可以帮助程序员更轻松地查询日期范围之间的数据。