目录

前言

一、INTERVAL

1.基础使用

2.在函数中使用

二、INTERVAL()函数

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢



前言

时间在数据库中经常作为时间索引,在数据入库和出库以及更新的时候都需要变化。在一些指标计算或者是提取某段时间的数据时,都会根据数据库中的时间索引数据进行操作。因此很大一部分我们操作数据都得先从时间数据下手,但是想要真正提取到我们想要的时间作为索引,还需要我们掌握许多功能函数方便我们操作,这是一个比较复杂的运用过程。

在本人博客数据库MySQL已有三篇详细解释了大部分关于处理时间数据的函数以及实例运用,如果对这一方面有需求的可以看这两篇:

一文速学-玩转MySQL获取时间、格式转换各类操作方法详解

一文速学-玩转MySQL时间选取各类函数操作详解+实例代码

第一篇具体讲述了所有获取SQL本地时间的函数,以及其他数据类型与时间数据类型相互转换。

第二批具体讲述了所有MySQL时间数据选取具体指定时间的函数。以上两篇文章都有具体的代码演示。希望能够帮助到正在看此博文的各位,如果还有什么问题解决不了尽请在评论区提出,博主会一一作答。下面开始正文。


一、INTERVAL

1.基础使用

INTERVAL关键字一般使用格式为:

interval [+/-]<数值> <时间单位>

例如:

interval 3 day

代表意义为3天的时间变量,可由时间变量进行相加减。这里展示SQL表为:

例如我们想要将create_time推迟三天:

select (create_time-INTERVAL 3 day) as time  from value_test

也可以为-3天:

select (create_time+INTERVAL -3 day) as time  from value_test

效果是一样的。

时间单位表为:

时间单位 描述
year
quarter 季度
month
week
day
hour 小时
minute 分钟
second
microsecond 微秒

second_microsecond

秒_微秒
minute_microsecond 分_微秒
minute_second 分_秒
hour_microsecond 时_微秒
hour_second 时_秒
hour_minute 时_分
day_microsecond 天_微秒
day_second 天_秒
day_minute 天_分钟
day_hour 天_小时
year_month 年_月

如果我们想要在原基础上加上1小时10分钟10秒:

select (create_time+INTERVAL '1:10:10' hour_second) as time  from value_test

这里要注意一下指定的时间单位向下兼容性,当我们选择的是hour_second小时到秒时,输入的数值仅为两个数值,例如:

select (create_time+INTERVAL '10:10' hour_second) as time  from value_test

会自动识别为10分10秒:

其他的连续时间段表示单位也都一样,例如:

select (create_time+INTERVAL '10:10:10' day_second) as time  from value_test

2.在函数中使用

interval一般使用场景都在场景筛选中使用,比如where的条件判断,或者是筛选、去一段指定的时间片段。如取近七日的时间段的数据:

and time between  cast(date_sub(date_format(curdate(),'%Y%m%d')
, interval 7 day) as DECIMAL)
and  cast(date_sub(date_format(curdate(),'%Y%m%d') , interval 1 day)
as DECIMAL)

也经常在date_add和date_sub这种时间运算函数中表示时间变量使用,add和sub都可以通过修改正负号来替换功能。

二、INTERVAL()函数

在MySQL输入interval()函数就会显示相应的语法格式:

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

INTERVAL()函数为分区函数,其中,N是要判断的数值,N1,N2,N3,...是分段的间隔。

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

  • 如果N<N1,则返回0,
  • 如果N1<=N<N2,则返回1,
  • 如果N2<=N<N3,则返回2。
  • 区间是左闭右开的。

这里我们用time这一列开展示效果:

我们想要把time列的时间归类为20220601-20220610为一个区域,20220611-20220620为一个区域,20220621-20220630为一个区域,每隔10天为一个分区。

select INTERVAL(time,20220611,20220621,20220631) as time  from value_test

分完区之后一般进行统计,就可以得到对应区间的个数了:

select INTERVAL(time,20220611,20220621,20220631) as times ,count(*) as count
from value_test
GROUP BY times


点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。

一文速学-玩转MySQL中INTERVAL关键字和INTERVAL()函数用法讲解相关推荐

  1. mysql中insert语句的五种用法

    文章目录 前言 一.values参数后单行插入 二.values参数后多行插入 三.搭配select插入数据 四.复制旧表的信息到新表 五.搭配set插入数据 总结 前言 insert语句是标准sql ...

  2. MySQL中replace主键_Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

  3. Pyecharts一文速学-绘制桑基图详解+Python代码

    目录 前言 一.桑基图 二.Pyecharts绘制 1.数据处理 2.桑基图参数 1.class Sankey() 2.class SankeyLevelsOpts() 三.add()方法参数 1.s ...

  4. 一文速学数模-时序预测模型(四)二次指数平滑法和三次指数平滑法详解+Python代码实现

    目录 前言 二次指数平滑法(Holt's linear trend method) 1.定义 2.公式 二次指数平滑值: 二次指数平滑数学模型: 3.案例实现 三次指数平滑法(Holt-Winters ...

  5. MySQL 中的 FOUND_ROWS() 与 ROW_COUNT() 函数

    原文地址:https://www.cnblogs.com/digdeep/p/4818660.html 移植sql server 的存储过程到mysql中,遇到了sql server中的: IF @@ ...

  6. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  7. mysql中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示.  比如 SELECT * FROM [user ...

  8. mysql 中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...

  9. mysql中模糊查询的四种用法

    转载自  https://www.cnblogs.com/songfayuan/articles/7290158.html 下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可 ...

  10. mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法 | 很文博客

    不常用:MySQL中的LOCATE和POSITION函数 LOCATE(substr,str) POSITION(substr IN str) 返回子串 substr 在字符串 str 中第一次出现的 ...

最新文章

  1. 收藏这10个办公神器,让你的职场办公更高效!
  2. 计算机组成原理—— 指令系统
  3. linux删除之前的文件在哪里,Linux下,如何将最后修改时间在某个时间之前的文件删除去?...
  4. 移动Sql Server数据库的脚本
  5. 电脑同时安装python2和3_一台电脑上同时安装python2和python3
  6. modbus-crc16——c语言
  7. javascript中的undefined 和 not defined
  8. java中有没有计时器_简单说一下java中计时器,实际需要,没有详解
  9. if a != None:
  10. select 居右对齐
  11. pb 执行insert 后return是否会自动提交_一条MySQL更新语句是怎么执行的?
  12. Map对象,Set对象使用(1)
  13. 【vivado使用】第2篇:超实用的vivado使用教程
  14. FTP文件上传Java代码实操
  15. QCC3005 芯片开发过程中碰到的一些问题
  16. colmak键盘_萌神进化 IKBC 新POKER2机械键盘体验
  17. mysql实验四数据库查询和视图_数据库实验四答案
  18. WIN11 TortoiseSVN 无论什么操作,都报同一个错误:请求的操作需要提升
  19. 今天就给大家介绍一个抢购茅台的小技巧,不需要安装Python,不需要配置环境,就和你在电脑上安装使用QQ等软件一样
  20. 「CH2401」送礼物 解题报告

热门文章

  1. 无法将数值CLSID写入 \Software\Classes\PROTOCOLS\Handler\ms-help。
  2. 【echarts】echarts根据奇偶设置柱形图颜色切换
  3. 【深度学习-吴恩达】L1-3 浅层神经网络 作业
  4. Mac电脑快捷键盘点:QuickTime Player 键盘快捷键和手势大全
  5. 小程序根据国外经纬度显示地图
  6. 普中科技单片机AD电压数模转换。STC89C52和XPT2046 芯片
  7. ZOOMIT的使用方法
  8. CG CTF RE Py交易
  9. Cloud Chou's Tech Blog编译相关
  10. 英特尔最新超级计算机,全球超级计算机500强三分之二使用英特尔的处理器