MySQL查询在指定时间段内的数据

MySQL查询在指定时间段内的数据

在实际开发中,我们常常需要根据时间来查询数据库数据,特别是查询在指定时间段内的数据。下面介绍如何在 MySQL 中进行此类操作。

阅读更多:MySQL 教程

BETWEEN … AND … 语句

MySQL 中,我们可以使用 BETWEEN ... AND ... 语句来查询两个时间点之间的数据。

示例:查询表 orders 中在 2022-01-01 00:00:00 和 2022-01-02 00:00:00 之间下单的订单。

SELECT * FROM orders
WHERE order_time BETWEEN '2022-01-01 00:00:00' AND '2022-01-02 00:00:00';
Mysql

使用 NOW() 函数

NOW() 函数返回当前日期和时间。我们可以使用它来查询比当前时间早或晚一定时间段内的数据。

示例:查询表 orders 中在当前时间前 10 分钟到现在下单的订单。

SELECT * FROM orders
WHERE order_time BETWEEN DATE_SUB(NOW(), INTERVAL 10 MINUTE) AND NOW();
Mysql

示例:查询表 users 中注册时间在当前时间前 1 小时到当前时间之间的用户。

SELECT * FROM users
WHERE register_time BETWEEN DATE_SUB(NOW(), INTERVAL 1 HOUR) AND NOW();
Mysql

使用 UNIX_TIMESTAMP() 函数

UNIX_TIMESTAMP() 函数返回从 1970 年 1 月 1 日起到当前时间的秒数。我们可以使用它来查询某个时间点前或后一定时间段内的数据。

示例:查询表 orders 中在当前时间前 5 分钟到当前时间之间下单的订单。

SELECT * FROM orders
WHERE UNIX_TIMESTAMP(order_time) BETWEEN UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 5 MINUTE)) AND UNIX_TIMESTAMP(NOW());
Mysql

示例:查询表 users 中注册时间在当前时间前 1 小时到当前时间之间的用户。

SELECT * FROM users
WHERE UNIX_TIMESTAMP(register_time) BETWEEN UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 HOUR)) AND UNIX_TIMESTAMP(NOW());
Mysql

总结

本文介绍了在 MySQL 中查询在指定时间段内的数据的方法,包括 BETWEEN ... AND ... 语句、使用 NOW() 函数和使用 UNIX_TIMESTAMP() 函数。希望对大家有所帮助。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册