一,INTERVAL()函数

INTERVAL()函数可以返回分段后的结果,语法如下:

INTERVAL(N,N1,N2,N3,..........)

其中,N是要判断的数值,N1,N2,N3,...是分段的间隔。

这个函数的返回值是段的位置:

如果N<N1,则返回0,

如果N1<=N<N2,则返回1,

如果N2<=N<N3,则返回2。

所以,区间是前闭后开的。

举个例子:

有这样的数据:

然后执行以下sql:

SELECT id,percent,INTERVAL(percent,25,50) from test;

执行结果如下:

意思大概是这样的:percent字段参与判断,设定的区段是25,50,那么小于25的值返回0,大于等于25小于50的值返回1,大于等于50的值返回2。

还可以把INTERVAL()函数用在GROUP BY中:

执行这样的sql:

SELECTINTERVAL (percent, 0, 26, 51),COUNT(1)
FROMtest
GROUP BYINTERVAL (percent, 0, 26, 51);

执行结果如下:

二,INTERVAL关键字

INTERVAL关键字可以用于计算时间间隔,可以有以下用法。

1,直接计算时间间隔。

例1:查询当前时间之前2个小时的日期:

SELECT NOW()-INTERVAL '2' HOUR;

例2:

有这样的表:

执行这样的sql:

SELECTid,percent,t_date,t_date - INTERVAL 2 HOUR
FROMtest
where t_date - INTERVAL 2 HOUR>'2020-11-02';

执行结果:

注:INTERVAL后面的数字可以用数字格式或者字符格式,当时间单位是YEAR_MONTH这种时,必须用字符格式。

2,用在时间函数中

INTERVAL关键字可以用在DATE_SUB(),SUBDATE(),ADDDATE()等函数中。

例1:查询两天前的时间:

SELECT NOW(),SUBDATE(NOW(),INTERVAL 2 DAY);

例2:执行这样的sql:

SELECTid,percent,t_date,DATE_SUB(t_date, INTERVAL 2 HOUR)
FROMtest
WHEREDATE_SUB(t_date, INTERVAL 2 HOUR) > '2020-11-02';

执行结果:

可用的时间单位:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

重点关注一下YEAR_MONTH这种格式的单位,以YEAR_MONTH为例,代表几年又几个月的时间间隔。

比如查询当前时间前一年又三个月的时间,可以这样:

SELECT NOW(),NOW()-INTERVAL '1 3' YEAR_MONTH;

执行结果:

其中:

'1 3' YEAR_MONTH的配置就是代表1年3个月,两个数字之间的间隔符用等号,空格,下划线,中划线等等的都可以。

同理,'2 1 3 4' DAY_SECOND就代表2天1小时3分4秒:

另外,在Oracle中,INTERVAL关键字还有专门的语法,可以起到MySQL中YEAR_MONTH关键字差不多的功能:

INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]

本文完

Mysql的INTERVAL()函数和INTERVAL关键字相关推荐

  1. mysql gis 时间_MySQL interval()函数

    INTERVAL(N,N1,N2,N3,---.) INTERVAL()函数进行比较列表(N1,N2,N3等等)中的N值.该函数如果N mysql>SELECT INTERVAL(6,1,2,3 ...

  2. MySQL之INTERVAL()函数用法

    最近记录的博客都是关于java的,对数据库的学习是少之又少,刚好突发奇想对一张城市轨道交通表进行统计分析,于是恰好遇到了自己已知sql写法解决不了的查询问题:对城市轨道交通表按运营里程分组统计个数. ...

  3. 记个MySql的日期函数date_sub(now(), interval 7 day)

    记个MySql的日期函数date_sub(now(), interval 7 day) 1.什么意思 意思就是查询出,当前时间,七天前的时间. 比如now() 得到当前时间是 2022-01-15 2 ...

  4. mysql elt interval_mysql 区间分组 interval,elt 的运用

    在统计需求中 有时往往需要对区间进行分组 mysql中可以利用elt函数来实现此类需求 mysql> select * from k1; +------+------+ | id | yb | ...

  5. mysql的常用函数

    一.数学函数 ABS(x)                    返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x)               ...

  6. mysql ceill_MYSQL常用函数

    1.字符串函数 函数 作用 CONCAT(S1,S2-Sn) 将S1,S2,Sn合并为一个字符串 INSERT(str,x,y,instr) 将字符串str从位置x开始y个字符长的子串替换为instr ...

  7. mysql中常用函数与存储过程的创建

    mysql中常用函数与存储过程的创建 常用函数汇总 数学函数 字符串函数 日期和时间函数 条件判断函数 系统函数 加密函数 其他函数 自定义函数 自定义变量的声明和赋值 基本语法 实例 存储过程 事务 ...

  8. MySQL 笔记 —— 时间函数、时间比较

    整理下MySQL 日期时间函数及用法(5.6.*版本) 一.日期(date)相关 1.CURDATE().CURRENT_DATE().CURRENT_DATE: 同义,返回当前日期,如:2017-1 ...

  9. mysql日期时间函数

    MySQL 日期跟时间函数(一) 作者: Mr.Zhang MySQL 日期跟时间的样式 在MySQL 中有很多有用处的日期跟时间函数.我们常常看到许多应用于日期的计算是在代码 方面上进行的,但是其实 ...

  10. MySQL 笔记6 -- 函数与事务

    MySQL 笔记6 – 函数与事务 MySQL 系列笔记是笔者学习.实践MySQL数据库的笔记 课程链接: MySQL 数据库基础入门教程 参考文档: MySQL 官方文档 SQL 教程 一.内置函数 ...

最新文章

  1. 深度学习100例 - 卷积神经网络(CNN)实现车牌识别 | 第15天
  2. 操作系统(二十五)吸烟者问题-单生产者多消费者问题
  3. pythonchar中的拟合方法_在python中利用numpy求解多项式以及多项式拟合的方法
  4. 键盘录入一个正整数,把它的各个位上的数字倒着排列形成一个新的整数并输出。 例如:12345 数出54321 78760 输出6787(0省去)
  5. leetcood学习笔记-107-二叉树的层次遍历二
  6. leetcode刷题:相交链表
  7. mysql xa 使用_MySQL如何实现 XA 规范
  8. 黑马程序员Java教程学习笔记(一)
  9. oracle 19c em,Oracle 19C EM
  10. EDK2编译环境搭建、编译、在模拟器运行、在笔记本运行
  11. 张赐荣 | 详解SAPI5语音转换扩展XMLTTS标记
  12. Object.entries()方法的使用和实现
  13. 关于微信小程序开发个人总结
  14. STM32WB55_NUCLEO开发(2)----使用STM32CubeMX 生成的简单 BLE 应用程序连接手机APP
  15. c语言限制字符串长度范围,字符串长度C语言版
  16. 继牛津大学后,加大伯克利分校等多家美国高校终止与华为合作
  17. Python 爬取财务报表
  18. BBS论坛系统的需求
  19. vlayout源码解析
  20. 在WindowsXP系统下搭建PPPoE服务器总结

热门文章

  1. python画结构图_【实战案例】五分钟!用python绘制系统架构图
  2. Android 9 隐藏下拉状态栏中的快捷开关
  3. 五分钟教你学会写产品需求文档(PRD)
  4. 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等...
  5. Java项目使用jib打包docker镜像的简单记录
  6. 使用jib-maven-plugin分层构建Docker镜像——避免直接使用FatJar
  7. oFono学习笔记(一):oFono中增加消息与接口
  8. halcon与C#混合编程(三)数字识别
  9. 【基础系列】赏析刘洪普《PyTorch深度学习实践》与《实战:基于CNN的MNIST手写数字识别》(Python版)
  10. 【NRF51822】DFU过程梳理