【Mysql】 获取表中一段时间范围内的数据

本文详细介绍了MySQL中获取当前时间的NOW()、CURDATE()、CURTIME()函数,以及如何使用DATE_SUB和DATE_ADD对日期和时间进行加减操作。例如,DATE_SUB用于获取当前日期前一天,DATE_ADD则用于对日期进行加减,如增加或减少秒、分钟、小时、天数等。此外,还展示了如何在SQL查询中应用这些函数来筛选特定时间范围内的数据。
摘要由CSDN通过智能技术生成

时间的获取

NOW()CURDATE()CURTIME()
2021-08-23 13:37:462021-08-2313:38:48

DATE_SUB()

获取当前日期前一天

获取当前日期的前一天:SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY)
获取当前日期后两天:SELECT DATE_SUB(CURDATE(), INTERVAL -2 DAY)

获取当前日期的前10秒:SELECT DATE_SUB(CURTIME(), INTERVAL 10 SECOND)

获取当前日期的前10分钟:SELECT DATE_SUB(NOW(), INTERVAL 10 MINUTE)

其他的一些例子:

date_sub(‘2021-08-23’,interval 1 day) 表示 2021-08-22
date_sub(‘2021-08-23’,interval 0 day) 表示 2021-08-23
date_sub(‘2021-08-23’,interval -1 day) 表示 2021-08-24

date_sub(curdate(),interval 1 day) 表示 2021-08-22
date_sub(curdate(),interval -1 day) 表示 2021-08-24
date_sub(curdate(),interval 1 month) 表示 2021-07-23
date_sub(curdate(),interval -1 month) 表示 2021-09-23
date_sub(curdate(),interval 1 year) 表示 2020-08-23
date_sub(curdate(),interval -1 year) 表示 2022-08-23

DATE_ADD()

用来对日期进行加减

-- 当前时间减少10秒
select date_add(now(),interval -10 SECOND)
-- 当前时间增加10分钟
select date_add(now(),interval 10 DAY_MINUTE)
-- 得到当前时间增加1个小时
select date_add(now(),interval 1 hour)
-- 得到当前时间减少2个小时
select date_add(now(),interval -2 hour)
-- 得到当前时间增加1天
select date_add(now(),interval 1 day)

-- SECOND 和 DYA_SECOND 效果一致

-- 增加一天一小时一分一秒
select date_add(now(),interval '1 1:1:1' DAY_SECOND)


其他示例:

-- 已知有表 table_S
CREATE TABLE `table_S` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `value` int(9) unsigned NOT NULL,
  `times` datetime NOT NULL ,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

-- 获得该时间段前2S内的数据个数
SELECT COUNT(*) FROM table_S WHERE times BETWEEN 
DATE_SUB('2022-03-29 07:40:16',INTERVAL 2 SECOND) AND '2022-03-29 07:40:16';

-- 获得当前时段前5分钟的数据
SELECT * table_S WHERE times BETWEEN 
DATE_SUB(NOW(),INTERVAL 5 MINUTE) AND NOW();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值