Mysql的INTERVAL()函数和INTERVAL关键字
一,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关键字相关推荐
- mysql gis 时间_MySQL interval()函数
INTERVAL(N,N1,N2,N3,---.) INTERVAL()函数进行比较列表(N1,N2,N3等等)中的N值.该函数如果N mysql>SELECT INTERVAL(6,1,2,3 ...
- MySQL之INTERVAL()函数用法
最近记录的博客都是关于java的,对数据库的学习是少之又少,刚好突发奇想对一张城市轨道交通表进行统计分析,于是恰好遇到了自己已知sql写法解决不了的查询问题:对城市轨道交通表按运营里程分组统计个数. ...
- 记个MySql的日期函数date_sub(now(), interval 7 day)
记个MySql的日期函数date_sub(now(), interval 7 day) 1.什么意思 意思就是查询出,当前时间,七天前的时间. 比如now() 得到当前时间是 2022-01-15 2 ...
- mysql elt interval_mysql 区间分组 interval,elt 的运用
在统计需求中 有时往往需要对区间进行分组 mysql中可以利用elt函数来实现此类需求 mysql> select * from k1; +------+------+ | id | yb | ...
- mysql的常用函数
一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) ...
- mysql ceill_MYSQL常用函数
1.字符串函数 函数 作用 CONCAT(S1,S2-Sn) 将S1,S2,Sn合并为一个字符串 INSERT(str,x,y,instr) 将字符串str从位置x开始y个字符长的子串替换为instr ...
- mysql中常用函数与存储过程的创建
mysql中常用函数与存储过程的创建 常用函数汇总 数学函数 字符串函数 日期和时间函数 条件判断函数 系统函数 加密函数 其他函数 自定义函数 自定义变量的声明和赋值 基本语法 实例 存储过程 事务 ...
- MySQL 笔记 —— 时间函数、时间比较
整理下MySQL 日期时间函数及用法(5.6.*版本) 一.日期(date)相关 1.CURDATE().CURRENT_DATE().CURRENT_DATE: 同义,返回当前日期,如:2017-1 ...
- mysql日期时间函数
MySQL 日期跟时间函数(一) 作者: Mr.Zhang MySQL 日期跟时间的样式 在MySQL 中有很多有用处的日期跟时间函数.我们常常看到许多应用于日期的计算是在代码 方面上进行的,但是其实 ...
- MySQL 笔记6 -- 函数与事务
MySQL 笔记6 – 函数与事务 MySQL 系列笔记是笔者学习.实践MySQL数据库的笔记 课程链接: MySQL 数据库基础入门教程 参考文档: MySQL 官方文档 SQL 教程 一.内置函数 ...
最新文章
- 深度学习100例 - 卷积神经网络(CNN)实现车牌识别 | 第15天
- 操作系统(二十五)吸烟者问题-单生产者多消费者问题
- pythonchar中的拟合方法_在python中利用numpy求解多项式以及多项式拟合的方法
- 键盘录入一个正整数,把它的各个位上的数字倒着排列形成一个新的整数并输出。 例如:12345 数出54321 78760 输出6787(0省去)
- leetcood学习笔记-107-二叉树的层次遍历二
- leetcode刷题:相交链表
- mysql xa 使用_MySQL如何实现 XA 规范
- 黑马程序员Java教程学习笔记(一)
- oracle 19c em,Oracle 19C EM
- EDK2编译环境搭建、编译、在模拟器运行、在笔记本运行
- 张赐荣 | 详解SAPI5语音转换扩展XMLTTS标记
- Object.entries()方法的使用和实现
- 关于微信小程序开发个人总结
- STM32WB55_NUCLEO开发(2)----使用STM32CubeMX 生成的简单 BLE 应用程序连接手机APP
- c语言限制字符串长度范围,字符串长度C语言版
- 继牛津大学后,加大伯克利分校等多家美国高校终止与华为合作
- Python 爬取财务报表
- BBS论坛系统的需求
- vlayout源码解析
- 在WindowsXP系统下搭建PPPoE服务器总结
热门文章
- python画结构图_【实战案例】五分钟!用python绘制系统架构图
- Android 9 隐藏下拉状态栏中的快捷开关
- 五分钟教你学会写产品需求文档(PRD)
- 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等...
- Java项目使用jib打包docker镜像的简单记录
- 使用jib-maven-plugin分层构建Docker镜像——避免直接使用FatJar
- oFono学习笔记(一):oFono中增加消息与接口
- halcon与C#混合编程(三)数字识别
- 【基础系列】赏析刘洪普《PyTorch深度学习实践》与《实战:基于CNN的MNIST手写数字识别》(Python版)
- 【NRF51822】DFU过程梳理