mysql脚本查询 xxx分钟、xxx小时、xxx天之前的数据(使用 interval、subdate()等 对日期时间增减操作),写法和案例

一、例如查询 5 分钟前的数据

select o.id, o.order_no, o.create_time
from t_order o
where o.deleted = 0
  -- 5分钟前
  and o.create_time < subdate(now(), interval 5 minute);

说明:
1、subdate(now(), interval 5 minute):当前系统时间 - 5分钟,返回5分钟之前的日期时间

二、几种对日期增减操作常用的写法

1、subdate()

select subdate(now(), interval 5 minute ) from dual;

2、date_sub()

select date_sub(now(), interval 5 minute) from dual;

3、now() - interval 5 minute

select now() - interval 5 minute from dual;

4、与上述几种反向操作:adddate()、date_add()、now() + interval 5 minute

select
    adddate(now(), interval 5 minute),
    date_add(now(), interval 5 minute),
    now() + interval 5 minute
from dual;

说明:
【1】以上几种写法都是等效的,作用相同
【2】也可以使用负数使之结果等效,例如:

select
    subdate(now(), interval -5 minute),
    adddate(now(), interval 5 minute)
from dual;

结果相等,其他写法与其类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值