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;

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

相关推荐
唐青枫4 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8784 天前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H4 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶5 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵6 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking6 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
李白客7 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
Jim6009 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL10 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql