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;

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

相关推荐
雨辰AI1 小时前
生产级实战|SpringBoot3 + 达梦DM9 数据库权限收敛与三权分立完整落地方案
数据库·mysql·oracle·政务
Gong-Yu1 小时前
MySQL数据库运维——性能优化进阶1️⃣
运维·数据库·mysql·性能优化
峥无1 小时前
MySQL 系统学习之路 第一篇:服务安装、基础概念与架构全解
学习·mysql·架构
焦虑的说说2 小时前
mysql为什么回表会慢
mysql·面试
峥无2 小时前
MySQL 数据库 & 数据表基础操作总结
数据库·mysql
Amnesia0_02 小时前
MYSQL索引
数据库·mysql
Tipriest_2 小时前
没有nvidia的卡上装sogou拼音的特殊处理
运维·服务器·mysql
bjzhang7513 小时前
CentOS下安装MySQL详解
linux·mysql·centos
十五年专注C++开发16 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql