INTERVAL DAY TO SECOND数据类型

Oracle语法: 
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表示微秒. 
该类型与INTERVAL YEAR TO MONTH有很多相似的地方,建议先看INTERVAL YEAR TO MONTH再看该文.

范围值: 
HOUR:    0 to 23 
MINUTE: 0 to 59 
SECOND: 0 to 59.999999999

eg: 
INTERVAL '4 5:12:10.222' DAY TO SECOND(3) 
表示: 4天5小时12分10.222秒

INTERVAL '4 5:12' DAY TO MINUTE 
表示: 4天5小时12分

INTERVAL '400 5' DAY(3) TO HOUR 
表示: 400天5小时, 400为3为精度,所以"DAY(3)", 注意默认值为2.

INTERVAL '400' DAY(3) 
表示: 400天

INTERVAL '11:12:10.2222222' HOUR TO SECOND(7) 
表示: 11小时12分10.2222222秒

INTERVAL '11:20' HOUR TO MINUTE 
表示: 11小时20分

INTERVAL '10' HOUR 
表示: 10小时

INTERVAL '10:22' MINUTE TO SECOND 
表示: 10分22秒

INTERVAL '10' MINUTE 
表示: 10分

INTERVAL '4' DAY 
表示: 4天

INTERVAL '25' HOUR 
表示: 25小时

INTERVAL '40' MINUTE 
表示: 40分

INTERVAL '120' HOUR(3) 
表示: 120小时

INTERVAL '30.12345' SECOND(2,4)     
表示: 30.1235秒, 因为该地方秒的后面精度设置为4, 要进行四舍五入.

INTERVAL '20' DAY - INTERVAL '240' HOUR = INTERVAL '10-0' DAY TO SECOND 
表示: 20天 - 240小时 = 10天0秒

================== 
该部分来源:http://www.oraclefans.cn/forum/showblog.jsp?rootid=140 
INTERVAL DAY TO SECOND类型存储两个TIMESTAMP之间的时间差异,用日期、小时、分钟、秒钟形式表示。该数据类型的内部代码是183,长度位11字节:

l         4个字节表示天数(增加0X80000000偏移量) 
l         小时、分钟、秒钟各用一个字节表示(增加60偏移量) 
l         4个字节表示秒钟的小时差异(增加0X80000000偏移量)

以下是一个例子:

SQL> alter table testTimeStamp add f interval day to second ;

表已更改。

SQL> update testTimeStamp set f=(select interval '5' day + interval '10' second from dual);

已更新3行。

SQL> commit;

提交完成。

SQL> select dump(f,16) from testTimeStamp;

DUMP(F,16)

--------------------------------------------------------------------------------

Typ=183 Len=11: 80,0,0,5,3c,3c,46,80,0,0,0 
Typ=183 Len=11: 80,0,0,5,3c,3c,46,80,0,0,0 
Typ=183 Len=11: 80,0,0,5,3c,3c,46,80,0,0,0

日期:0X80000005-0X80000000=5

小时:60-60=0 
分钟:60-60=0 
秒钟:70-60=10 
秒钟小数部分:0X80000000-0X80000000=0

《FROM:http://www.cnblogs.com/snake-hand/archive/2011/02/23/2452308.html》

Oracle INTERVAL DAY TO SECOND数据类型的更多相关文章

  1. INTERVAL YEAR TO MONTH数据类型

    INTERVAL YEAR TO MONTH数据类型 Oracle语法: INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO ...

  2. Oracle INTERVAL

    转自:http://www.cnblogs.com/ungshow/archive/2009/04/11/1433747.html INTERVAL DAY TO SECOND数据类型 Oracle语 ...

  3. Oracle 修改现有列的数据类型

    如果表中有数据,Oracle是不能修改其数据类型的.但可以通过新建一个临时列,将要修改列的数据复制到临时列中,删除原列再修改临时列的名字.这样说好像有点拗口,分步解说一下. 表AC_REG中有列:is ...

  4. DB字段顺序与类的属性顺序一致:{Oracle.DataAccess.Client.OracleException ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER

    {Oracle.DataAccess.Client.OracleException ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER     应用程序中类型T ...

  5. [转帖]Oracle数据库lob大对象数据类型字段总结,值得收藏

    Oracle数据库lob大对象数据类型字段总结,值得收藏 原创 波波说运维 2019-07-11 00:02:00 https://www.toutiao.com/i67108943269703357 ...

  6. Oracle基础(六) 数据类型

    一.Oracle中的数据类型 Oracle中提供了丰富的数据类型,用来存储数据,主要包括: 1.字符类型:主要用来存储字符串类型的数据. 数据类型 长度 说明 CHAR(n BYTE/CHAR) 默认 ...

  7. .Net程序员学用Oracle系列(5):三大数据类型

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.Oracle 数据类型概述 2.字符类型 2.1.字符集 & NLS 2.2.常见的两种字符串 2.3.NCHAR ...

  8. mysql和oracle建表语句以及数据类型的区别

    1.mysql和oracle建表语句的区别 mysql DROP TABLE IF EXISTS `order`;CREATE TABLE `order` (  `id` int(11) NOT NU ...

  9. 查看oracle表中列的数据类型

    一. SQLPLUS中,直接用 DESC[ribe] tablename 即可. 二.在外部应用程序调用查看ORACLE中的表结构时,只能用下面的语句代替: 1.看字段名与数据类型 select * ...

随机推荐

  1. [Editor(typeof(ImageUrlEditor), typeof(UITypeEditor))]无效的可能原因

    开发的用户控件封存在dll中,其他都很顺利,就是这个图片弹出选择路径怎么也搞不出来!(浪费了我半天*2,o(︶︿︶)o 唉,犟脾气拗不过 看了很多搜索信息都说加: [Editor(typeof(Ima ...

  2. 伸缩放大的js

    window.onload = function() {         var div1 = document.getElementById('div1');         div1.onmous ...

  3. OWIN初探(转)

    什么是 OWIN ? OWIN 的全称是 "Open Web Interface for .NET", OWIN 在 .NET Web 服务器和 .NET Web 应用之间定义了一 ...

  4. 重写OnPaint事件对窗体重绘(显示gif动画) 实例2

    /// <summary> /// 可显示Gif 的窗体 /// </summary> public class WinGif : Form { private Image _ ...

  5. 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案

    作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段.简单地说,Sharding就是将原来单一 ...

  6. ORACLE SQL单行函数(二)【weber出品必属精品】

    11.dual:虚表,任何用户都可以使用,表结构如下: SQL> desc dual Name Null? Type -------------------------------------- ...

  7. Js 时间间隔计算(间隔天数)

    function GetDateDiff(startDate,endDate)  {      var startTime = new Date(Date.parse(startDate.replac ...

  8. Mysql常用命令记录

    -- 导出数据库: mysqldump -u user_name -p database_name > import_file.sql -- 执行脚本 source database.sql

  9. Jquery各版本下载,附Jquery官网下载方法

    jQuery version 2.1.1 http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.js http://ajax.aspnetcdn.com ...

  10. mongodb的连接问题,绑定IP惹的祸

    刚刚安装好了 mongodb .对着 mongodb in action上的例子敲了下面的代码: public class TestDBConnect { @Test public void test ...