MYSQL按时间查询

MySQL如何查询指定时间范围内的数据记录?

  1. 使用 WHERE 子句中的 BETWEEN 关键字来实现
SELECT * FROM table_name
WHERE date_column BETWEEN '2023-01-01' AND '2023-12-31';

返回在 2023 年 1 月 1 日至 2023 年 12 月 31 日之间的所有数据记录。

  1. 使用时间戳来查询指定时间范围内的数据记录
    注:时间戳是一个整数,表示从 1970 年 1 月 1 日 00:00:00 GMT 开始的秒数此处可转化
SELECT * FROM table_name
WHERE timestamp_column BETWEEN 1672502400 AND 1704038400;

返回在 2023-01-01 00:00:00 GMT 至 2024-01-01 00:00:00 GMT 之间的所有数据记录

  1. 使用 DATE_ADD 和 DATE_SUB 函数来查询指定时间范围内的数据记录
SELECT * FROM table_name
WHERE date_column BETWEEN  DATE_SUB('2023-01-01', INTERVAL 1 YEAR) 
AND  DATE_ADD('2024-01-01', INTERVAL 1 YEAR);

DATE_ADD 函数用于在指定日期上添加一定的时间间隔,而 DATE_SUB 函数用于从指定日期减去一定的时间间隔,所以返回在 2022 年 01 月 01 日至 2025 年 01 月 01 日之间的所有数据记录。

  1. 使用NOW()函数来查询指定时间范围内的数据记录
SELECT * FROM table_name
WHERE date_column BETWEEN 
    DATE_SUB(NOW(), INTERVAL 1 YEAR)
    AND  NOW();

返回在当前日期和时间的前一年至当前日期和时间之间的所有数据记录

posted @ 2024-02-23 15:22  任福  阅读(6)  评论(0)    收藏  举报  来源