Oralce 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秒

==================

本文URL地址:http://www.bianceng.cn/database/Oracle/201410/45389.htm

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

时间: 2024-12-22 04:25:40

Oralce INTERVAL DAY TO SECOND数据类型的相关文章

跟我学SQL:(八)数值数据类型

数据|数据类型 SQL92标准定义了若干种基本数据类型,它们是SQL数据库中各种数据类型的基础.在<字符串数据类型>一文中,我们已经详细讨论了SQL92标准所定义的字符串数据类型.现在,我们来进一步讨论数值数据类型.   你最好开始尝试使用不同数据库实现方法并在它们传递数据,这样可以加深你对数值数据类型的理解.本文将给你一个数值数据类型的概要,你可以结合你的数据库的文档资料来学习. 在字符串.数值.datetime和interval这四种数据类型中,数值型的种类最多,约束也最多.在不同数据库实

跟我学SQL:数值数据类型

SQL92标准定义了若干种基本数据类型,它们是SQL数据库中各种数据类型的基础.在<字符串数据类型>一文中,我们已经详细讨论了SQL92标准所定义的字符串数据类型.现在,我们来进一步讨论数值数据类型. 你最好开始尝试使用不同数据库实现方法并在它们传递数据,这样可以加深你对数值数据类型的理解.本文将给你一个数值数据类型的概要,你可以结合你的数据库的文档资料来学习. 在字符串.数值.datetime和interval这四种数据类型中,数值型的种类最多,约束也最多.在不同数据库实现方法之间交换数据时

跟我学SQL:(九)datetime和interval数据类型

数据|数据类型 datetime和interval是两种与时间有关的数据类型.它们的作用体现在以下几个方面:创建或者更改记录库中的某条记录.当某个时间发生时运行记录.或者计算某个datetime变量建立后所经历过的时间.本文将介绍SQL92标准对上述两种数据类型的描述.    SQL数据类型 如果你想进一步了解SQL数据类型,请阅读SQL基础:字符串型数据类型,这篇文章的范围覆盖了SQL中的通用数据类型并说明了各种字符串数据类型的用法,SQL基础:数字数据类型详细介绍了数字数据类型. Datet

跟我学SQL:datetime和interval数据类型

datetime和interval是两种与时间有关的数据类型.它们的作用体现在以下几个方面:创建或者更改记录库中的某条记录.当某个时间发生时运行记录.或者计算某个datetime变量建立后所经历过的时间.本文将介绍SQL92标准对上述两种数据类型的描述. SQL数据类型 如果你想进一步了解SQL数据类型,请阅读SQL基础:字符串型数据类型,这篇文章的范围覆盖了SQL中的通用数据类型并说明了各种字符串数据类型的用法,SQL基础:数字数据类型详细介绍了数字数据类型. Datetime 用于表示时间或

[20170315]数据类型interval day to second

[20170315]数据类型interval day to second.txt --上午监测dg应用情况时,查询如下视图: 1.前提: $ cat dg_status.sql column name format a30; column value format a30 column unit format a30 column time_computed format a30 select name,value,unit,to_char(to_date(time_computed,'mm/d

ORACLE基本数据类型总结

     ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & UROWID类型. 在讲叙字符串类型前,先要讲一下编码.字符串类 型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB) 两种.数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块

走近VB.Net(四) 关于数据类型与示例

示例|数据|数据类型 走近VB.Net(四) 关于数据类型与示例 在前面几章谈得最多的是Variant(vb6)到Object(vb.net)的转换,Object被称为通用的数据类型.另外是32位的long(vb6)被integer(vb.net)所取代,在vb.net中long储存64位的带符号整数.而short存储16位的数字取代vb6的integer的位置.而我们在下面要谈的是Decimal数据类型. 在初学vb6的时候,可能所有的人都做过同一个入门程序"计算器",你可能看到在计

Oracle的日期数据类型

71. Given below is a list of datetime data types and examples of values stored in them in a random order: Datatype Example 1)INTERVAL YEAR TO MONTH a) '20030415 8:00:00 8:00' 2)TIMESTAMPWITH LOCAL TIME ZONE b) '+06 03:30:16.000000' 3)TIMESTAMP WITH T

SQL Server 和Oracle 数据类型对应

  SqlServer 2k转换为Oracle 10g 列名 SqlServer数据类型 SqlServer长度 Oracle数据类型 column1 bigint 8 NUMBER(19) column2 binary 50 RAW(50) column3 bit 1 NUMBER(2) column4 char 10 CHAR(10) column5 datetime 8 DATE column6 decimal 9 NUMBER(18) column7 float 8 BINARY_DOU