当前位置: 首页 > news >正文

oracle中的INTERVAL函数学习总结

       Oracle 从9i数据库开始引入了一种新特性,可以用来存储时间间隔,出现了INTERVAL 函数。这个函数的表达式比较多,初学比较费劲不好掌握,经过以几个小时的查阅资料和实验,总结如下:
           interval year to month 类型:
格式: INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]
该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2。
           inter day to second 类型:
格式:INTERVAL '{ integer | integer time_expr | time_expr }' { { DAY | HOUR | MINUTE } [ ( leading_precision ) ] | SECOND [ ( leading_precision [, fractional_seconds_precision ] ) ] } [ TO { DAY | HOUR | MINUTE | SECOND [ (fractional_seconds_precision) ] } ]
       leading_precision值的范围是0到9, 默认是2. time_expr的格式为:HH[:MI[:SS[.n]]] or MI[:SS[.n]] or SS[.n], n表示微秒。
范围值: HOUR: 0 to 23
MINUTE: 0 to 59
SECOND: 0 to 59

实验结果备注如下,下面用sql和备注很清晰简洁的表达很容易熟悉各个表达式的作用:

select INTERVAL '12' YEAR 年, --只能整数--默认精度两位数,范围为0~9INTERVAL '123' YEAR(3) 年, --超过2位要指定精度INTERVAL '1' YEAR 年,INTERVAL '-12' YEAR 年,INTERVAL '-12' MONTH 月,--只能整数--默认精度两位数--默认精度是3位INTERVAL '-11' MONTH 月,INTERVAL '-2' MONTH 月,INTERVAL '12' MONTH 月,INTERVAL '11' MONTH 月,INTERVAL '123' MONTH 月,--默认精度是3位,范围为0~9INTERVAL '-123456' MONTH(5) 月,--超过3位要指定精度INTERVAL '12' DAY 天, --只能整数--默认精度两位数,范围为0~9INTERVAL '-12' DAY 天,INTERVAL '123' DAY(3) 天, --超过2位要指定精度INTERVAL '-1234' HOUR 小时, --只能整数---默认精度是4位,范围为0~9INTERVAL '12345' HOUR(5) 小时, --超过4位要指定精度INTERVAL '-13245' MINUTE 分钟, --只能整数---默认5位,范围为0~9INTERVAL '1234567' MINUTE(7) 分钟, --超过5位要指定精度INTERVAL '-1234567' second 秒, --秒,可以带小数,默认7位,范围为0~9INTERVAL '12345678.23' second(8) 秒, --超过7位要指定精度INTERVAL '123-2' YEAR(3) TO MONTH 年到月, --表示: 123年2个月, "YEAR(3)" 表示年的精度为3, 可见"123"刚好为3为有效数值, 如果该处YEAR(n), n<3就会出错, 注意默认是2INTERVAL '0 12' DAY TO HOUR 天和小时, --0天12小时,不能有小数INTERVAL '1 12:23' DAY TO minute 天到分钟, --0天12小时23分,不能有小数INTERVAL '2 12:23:12' DAY TO SECOND 天到秒, --0天12小时23分12秒,可以有小数INTERVAL '4 5:12:10.222' DAY TO SECOND(3) 天到秒小数,--INTERVAL '11:60' HOUR TO MINUTE,INTERVAL '2:59' HOUR TO MINUTE 时到分, --转换到哪一级,字符串里的表达式就要写到那级,不能有小数--INTERVAL '12:00' HOUR TO SECOND ,INTERVAL '12:01:01' HOUR TO SECOND 时分秒,INTERVAL '12:01:00.1234567' HOUR TO SECOND 时分秒小数, --默认小数是6位,最后一位会四舍五入INTERVAL '11:12:10.1234567' HOUR TO SECOND(7) 时分秒7位, --指定7为小数后可以呈现7位INTERVAL '23:12' MINUTE TO SECOND 分钟到秒,INTERVAL '23:12.22' MINUTE TO SECOND 分钟到秒小数from dual;select INTERVAL '123' YEAR  from dual; --执行错误,year默认精度是2,但是123是3位。select INTERVAL '5-3' YEAR TO MONTH + INTERVAL '20' MONTH from dual; --表示: 5年3个月 + 20个月 = 6年11个月select  INTERVAL '12345' HOUR(9) 小时,INTERVAL '1234567' MINUTE(9) 分钟,INTERVAL '12345678.23' second(9) 秒
from dual

通过上面的SQL,可以很容易看出各个级别的表达式的规律。分享给各位程序开发人员。

相关文章:

  • 50etf期权上市时间是什么时候?50etf期权对应的标的
  • 2022年全国职业院校技能大赛高职组“信息安全管理与评估”赛项第三阶段任务书
  • GolangFoundation
  • CSS学习笔记目录
  • 安装Lubuntu24.04
  • C# list集合
  • 卷积神经网络-奥特曼识别
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • Swoole 协程调度机制
  • 构建 VPC 并启动 Web 服务器
  • ADB安装教程
  • 修改python环境包的内容后如何及时更新到内存
  • 零拷贝(Zero Copy)
  • 动态分配函数参数用二级指针的作用
  • 将 cuda kernel 编译成 ptx 和 rocm的hip asm
  • [译] React v16.8: 含有Hooks的版本
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Akka系列(七):Actor持久化之Akka persistence
  • Docker容器管理
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • happypack两次报错的问题
  • Java 23种设计模式 之单例模式 7种实现方式
  • MaxCompute访问TableStore(OTS) 数据
  • node和express搭建代理服务器(源码)
  • python docx文档转html页面
  • React-生命周期杂记
  • Vue2.x学习三:事件处理生命周期钩子
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 微服务入门【系列视频课程】
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 由插件封装引出的一丢丢思考
  • 再谈express与koa的对比
  • 正则表达式
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​HTTP与HTTPS:网络通信的安全卫士
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • !$boo在php中什么意思,php前戏
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (多级缓存)多级缓存
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转) 深度模型优化性能 调参
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .gitignore文件---让git自动忽略指定文件
  • .NET CORE 3.1 集成JWT鉴权和授权2