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;

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

相关推荐
Zhu75817 小时前
使用helm在k8s集群部署MySQL单实例,支持当前所有主版本的最新子版本
mysql·adb·kubernetes
灯澜忆梦20 小时前
【MySQL11】进阶篇 | 索引_#3使用规则
数据库·sql·mysql·性能优化
wWYy.21 小时前
Mysql:有哪些锁?
数据库·mysql
hey_sml21 小时前
MySQL常用操作速记:从字符集到游标全解析
java·开发语言·mysql
云技纵横21 小时前
线上接口突然超时,怎么判断卡在 Nginx、线程池、连接池还是 SQL?
后端·sql·mysql
技术长镜头1 天前
别再死记 Record、Gap、Next-Key:沿一条 SQL 看懂 InnoDB 锁
后端·mysql
swordbob1 天前
mysql数据库,明明有索引为啥不用
数据库·mysql
灯澜忆梦1 天前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
油丶酸萝卜别吃2 天前
MySQL B+ 树查询全过程详解
数据库·mysql
Cry丶2 天前
遗留系统数据迁移实战(九):区域编码迁移与补偿接口设计
mysql·数据治理·数据迁移·区域编码·补偿接口·组织区域