oracle中的INTERVAL函数学习总结

2024-05-31 17:04

本文主要是介绍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,可以很容易看出各个级别的表达式的规律。分享给各位程序开发人员。

这篇关于oracle中的INTERVAL函数学习总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018518

相关文章

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被