MySQL 查询日期范围:简易指南(mysql查询日期范围)

    在MySQL,我们能够以一定的方式,查询日期范围内的记录数据,尤其是当运用时间是一个很重要的因素的业务查询中。今天,本文将会简单介绍一下,如何在数据库中查询日期范围表里的记录,本文的重点以MySQL为例进行说明。

    首先,在MySQL中有两种方式查询日期范围内的数据,第一种是使用BETWEEN运算符,如下所示:

SELECT * FROM table_name WHERE field_name
BETWEEN '2020-01-01' AND '2020-01-31'

    这个示例中,我们在表table_name中查询字段field_name在2020年1月1日和1月31日之前的所有记录,也就是我们将查询出此时间范围内的记录,其中可以包括某天到另一天的记录。

    第二,可以使用GREATEREQUAL运算符,如下所示:

SELECT * FROM table_name WHERE field_name
GREATERTHAN OR EQUAL TO '2020-01-01' AND
LESSERTHAN OR EQUAL TO '2020-01-31'

    这个示例中,我们将查询出此时间范围内的记录,包括某天到另一天之间的记录,但不包括某天这一天上那些记录,比如说2020-01-31这天及以后的记录将不会被查询出来。

    除此之外,MySQL还提供了另外一种用法,即在MySQL 5.7.5以上版本的MySQL中,可以使用DATE_SUB这种日期函数,其用法如下:

SELECT * FROM table_name WHERE field_name
BETWEEN DATE_SUB('2020-01-01', INTERVAL 7 DAY)
AND DATE_SUB('2020-01-31', INTERVAL 7 DAY)

    在此示例中,我们将查询7天前的范围内的记录,也就是查询出7天前到31号之间的记录,比如说2020-01-31这天及以后的记录将不会被查询出来。

    本文介绍了MySQL中查询日期范围内的记录数据,共分为三种,分别为使用BETWEEN运算符,使用GREATEREQUAL运算符,以及使用DATE_SUB函数,每种方式都有其优势,不同场景可以使用不同的方式。我们可以根据自己的要求,选择合适的方式从MySQL中查询日期范围内的记录数据。


数据运维技术 » MySQL 查询日期范围:简易指南(mysql查询日期范围)