mysql查询当前时间的前几分钟、几小时、几天以及几月的数据示例代码
lzzyok小宝贝
2024-04-02 17:21
短信预约 MySQL-IT技能 免费直播动态提醒
这篇文章将为大家详细讲解有关mysql查询当前时间的前几分钟、几小时、几天以及几月的数据示例代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
查询当前时间前几分钟的数据
SELECT * FROM table_name
WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 5 MINUTE);
查询当前时间前几小时的数据
SELECT * FROM table_name
WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 2 HOUR);
查询当前时间前几天的数据
SELECT * FROM table_name
WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 3 DAY);
查询当前时间前几月的数据
SELECT * FROM table_name
WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 6 MONTH);
更高级的用法:使用 MySQL 的 DATE_ADD 和 DATE_SUB 函数
查询指定时间前几分钟的数据
SELECT * FROM table_name
WHERE timestamp >= DATE_SUB("2023-03-08 12:00:00", INTERVAL 10 MINUTE);
查询指定时间前几小时的数据
SELECT * FROM table_name
WHERE timestamp >= DATE_SUB("2023-03-08 12:00:00", INTERVAL 4 HOUR);
查询指定时间前几天的数据
SELECT * FROM table_name
WHERE timestamp >= DATE_SUB("2023-03-08 12:00:00", INTERVAL 7 DAY);
查询指定时间前几月的数据
SELECT * FROM table_name
WHERE timestamp >= DATE_SUB("2023-03-08 12:00:00", INTERVAL 2 MONTH);
使用 CASE 语句进行动态的时间范围查询
SELECT * FROM table_name
WHERE timestamp >= CASE
WHEN unit = "minute" THEN DATE_SUB(NOW(), INTERVAL duration MINUTE)
WHEN unit = "hour" THEN DATE_SUB(NOW(), INTERVAL duration HOUR)
WHEN unit = "day" THEN DATE_SUB(NOW(), INTERVAL duration DAY)
WHEN unit = "month" THEN DATE_SUB(NOW(), INTERVAL duration MONTH)
END;
其中,unit
和 duration
是用户提供的查询参数,用于指定时间单位和持续时间。
使用 MySQL 的 BETWEEN 运算符
SELECT * FROM table_name
WHERE timestamp BETWEEN DATE_SUB(NOW(), INTERVAL 1 HOUR) AND NOW();
这将查询当前时间前 1 小时内的数据。
使用 MySQL 的 TIMESTAMPDIFF 函数
SELECT * FROM table_name
WHERE TIMESTAMPDIFF(MINUTE, timestamp, NOW()) < 10;
这将查询当前时间前 10 分钟内的数据。
以上就是mysql查询当前时间的前几分钟、几小时、几天以及几月的数据示例代码的详细内容,更多请关注编程学习网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341