精华内容
下载资源
问答
  • INTERVAL DAY TO SECOND: 作为天、小时、分和秒的时间间隔存储(DAY,HOUR,MINUTE,SECOND) 1) 创建以上两种数据类型的表 SQL> create table t1(id number(2),x interval year to month,y interval day to s

    INTERVAL YEAR TO MONTH: 作为年和月的时间间隔存储

    INTERVAL DAY TO SECOND: 作为天、小时、分和秒的时间间隔存储(DAY,HOUR,MINUTE,SECOND)

    1) 创建以上两种数据类型的表

    SQL> create table t1(id number(2),x interval year to month,y interval day to second);

    Table created.

    SQL> desc t1;
     Name                                                  Null?    Type
     ----------------------------------------------------- -------- ------------------------------------
     ID                                                             NUMBER(2)
     X                                                              INTERVAL YEAR(2) TO MONTH
     Y                                                              INTERVAL DAY(2) TO SECOND(6)

    2) x字段插入:5年,y字段插入:2天

    SQL> insert into t1 values (1,interval '5' year,interval '2' day);

    1 row created.

    SQL> commit;

    Commit complete.

    SQL> select * from t1;

            ID X                    Y
    ---------- -------------------- --------------------
             1 +05-00               +02 00:00:00.000000

    3) x字段插入:10个月,y字段插入:2小时

    SQL> insert into t1 values (2,interval '10' month,interval '2' hour);

    1 row created.

    SQL> commit;

    Commit complete.

    SQL> select * from t1;

        ID     X                    Y
    ---------- -------------------- --------------------
         1     +05-00               +02 00:00:00.000000
         2     +00-10               +00 02:00:00.000000

    4) x字段插入:2年零6个月,y字段插入:1天量12小时30分钟1秒

    SQL> insert into t1 values (3,interval '2-6' year to month,interval '1 12:30:01' day to second);

    1 row created.

    SQL> commit;

    Commit complete.

    SQL> select * from t1;

        ID     X                    Y
    ---------- -------------------- --------------------
         1     +05-00               +02 00:00:00.000000
         2     +00-10               +00 02:00:00.000000
         3     +02-06               +01 12:30:01.000000



    展开全文
  • INTERVAL DAY TO SECOND类型可以用来存储单位为天和秒的时间间隔。下面这条语句创建一个名为promotions的表,用来存储促销信息。promotions表包含了一个INTERVAL DAY TO SECOND...
    INTERVAL DAY TO SECOND类型可以用来存储单位为天和秒的时间间隔。下面这条语句创建一个名为promotions的表,用来存储促销信息。promotions表包含了一个INTERVAL DAY TO SECOND类型的列duration,该列用来记录促销有效的时间间隔:


     CREATE TABLE promotions (
    promotion_id INTEGER CONSTRAINT promotions_pk PRIMARY KEY,
    name VARCHAR2(30) NOT NULL,
    duration INTERVAL DAY(3) TO SECOND (4)
    );
    注意此处指定了duration列中天的精度为3,秒的小数部分精度为4。这就是说可以为该列的天存储3位数字,而为该列的秒最多可以在小数点右边存储4位数字。


    要向数据库提供一个INTERVAL DAY TO SECOND字面值,可以使用下面的简化语法:


    INTERVAL '[+|-][ d] [ h[: m[: s]]]' [DAY[( days_precision)]])
    [TO HOUR | MINUTE | SECOND[( seconds_precision)]]
    ● + 或 - 是一个可选的指示符,用来说明时间间隔是正数还是负数(默认为正数)。


    ● d 是时间间隔的天数。


    ● h 是一个可选参数,表示时间间隔的小时数。如果指定了天和小时,必须在INTERVAL子句中包含TO HOUR。


    ● h 是一个可选参数,表示时间间隔的分钟数。如果指定了天和分,必须在INTERVAL子句中包含TO MINUTES。


    ● s 是一个可选参数,表示时间间隔的秒数。如果指定了天和秒,必须在INTERVAL子句中包含TO SECOND。


    ● days_precision是一个可选参数,用来说明天数的精度(默认值为2)。


    ● seconds_precision是一个可选参数,用来说明秒的精度(默认值为6)。


    时间间隔字面量的例子




    INTERVAL ‘3’ DAY


    时间间隔为3天


    INTERVAL ‘2’ HOUR


    时间间隔为2小时


    INTERVAL ‘25’ MINUTE


    时间间隔为25分钟


    INTERVAL ‘45’ SECOND


    时间间隔为45秒


    INTERVAL ‘3 2’ DAY TO HOUR


    时间间隔为3天零2小时


    INTERVAL ‘3 2:25’ DAY TO MINUTE


    时间间隔为3天零2小时25分


    INTERVAL ‘3 2:25:45’ DAY TO SECOND


    时间间隔为3天零2小时25分45秒


    INTERVAL ‘123 2:25:45.12’ DAY(3)


    TO SECOND(2)


    时间间隔为123天零2小时25分45.12秒; 天的精度是3位数字,秒的小数部分的精度是2位数字


    INTERVAL ‘3 2:00:45’ DAY TO SECOND


    时间间隔为3天2小时0分45秒


    INTERVAL ‘-3 2:25:45’ DAY TO SECOND


    时间间隔为负数,值为3天零2小时25分45秒


    INTERVAL ‘1234 2:25:45’ DAY(3)


    TO SECOND


    时间间隔无效,因为天的位数超过了指定的精度3


    INTERVAL ‘123 2:25:45.123’ DAY


    TO SECOND(2)


    时间间隔无效,因为秒的小数部分的位数超过了指定的精度2


    下面这个INSERT语句向promotions表添加一行记录:


     INSERT INTO promotions (promotion_id, name, duration)
    VALUES (1, '10% off Z Files', INTERVAL '3' DAY);
     


    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (2, '20% off Pop 3', INTERVAL '2' HOUR);


     


    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (3, '30% off Modern Science', INTERVAL '25' MINUTE);


     


    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (4, '20% off Tank War', INTERVAL '45' SECOND);


     


    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (5, '10% off Chemistry', INTERVAL '3 2:25' DAY TO MINUTE);


     


    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (6, '20% off Creative Yell', INTERVAL '3 2:25:45' DAY TO SECOND);


     


    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (7, '15% off My Front Line',
    INTERVAL '123 2:25:45.12' DAY(3) TO SECOND(2));


    下面这个查询对promotions表进行检索,注意duration列值的格式化:


     SELECT *
    FROM promotions;
    PROMOTION_ID  NAME                              DURATION
    ------------ ------------------------------   ------------------
    1   10% off Z Files                  +003 00:00:00.0000
    2   20% off Pop 3                    +000 02:00:00.0000
    3   30% off Modern Science           +000 00:25:00.0000
    4   20% off Tank War                 +000 00:00:45.0000
    5   10% off Chemistry                +003 02:25:00.0000
    6   20% off Creative Yell            +003 02:25:45.0000
    7   15% off My Front Line            +123 02:25:45.1200

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26870952/viewspace-2151392/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/26870952/viewspace-2151392/

    展开全文
  • INTERVAL DAY TO SECOND类型可以用来存储单位为天和秒的时间间隔。下面这条语句创建一个名为promotions的表,用来存储促销信息。promotions表包含了一个INTERVAL DAY TO SECOND类型的列duration,该列用来记录促销...

    原文地址:http://blog.csdn.net/tianzengyan/article/details/5604692

    INTERVAL DAY TO SECOND类型可以用来存储单位为天和秒的时间间隔。下面这条语句创建一个名为promotions的表,用来存储促销信息。promotions表包含了一个INTERVAL DAY TO SECOND类型的列duration,该列用来记录促销有效的时间间隔:

     CREATE TABLE promotions (
    promotion_id INTEGER CONSTRAINT promotions_pk PRIMARY KEY,
    name VARCHAR2(30) NOT NULL,
    duration INTERVAL DAY(3) TO SECOND (4)
    );

    注意此处指定了duration列中天的精度为3,秒的小数部分精度为4。这就是说可以为该列的天存储3位数字,而为该列的秒最多可以在小数点右边存储4位数字。

    要向数据库提供一个INTERVAL DAY TO SECOND字面值,可以使用下面的简化语法:

    INTERVAL '[+|-][ d] [ h[: m[: s]]]' [DAY[( days_precision)]])
    [TO HOUR | MINUTE | SECOND[( seconds_precision)]]

    其中

    ● + 或 - 是一个可选的指示符,用来说明时间间隔是正数还是负数(默认为正数)。

    ● d 是时间间隔的天数。

    ● h 是一个可选参数,表示时间间隔的小时数。如果指定了天和小时,必须在INTERVAL子句中包含TO HOUR。

    ● h 是一个可选参数,表示时间间隔的分钟数。如果指定了天和分,必须在INTERVAL子句中包含TO MINUTES。

    ● s 是一个可选参数,表示时间间隔的秒数。如果指定了天和秒,必须在INTERVAL子句中包含TO SECOND。

    ● days_precision是一个可选参数,用来说明天数的精度(默认值为2)。

    ● seconds_precision是一个可选参数,用来说明秒的精度(默认值为6)。

    表5-12给出了几个INTERVAL DAY TO SECOND类型的时间间隔字面量的例子。

    表5-12  时间间隔字面量的例子

    时间间隔字面量

    说明

    INTERVAL ‘3’ DAY

    时间间隔为3天

    INTERVAL ‘2’ HOUR

    时间间隔为2小时

    INTERVAL ‘25’ MINUTE

    时间间隔为25分钟

    INTERVAL ‘45’ SECOND

    时间间隔为45秒

    INTERVAL ‘3 2’ DAY TO HOUR

    时间间隔为3天零2小时

    INTERVAL ‘3 2:25’ DAY TO MINUTE

    时间间隔为3天零2小时25分

    INTERVAL ‘3 2:25:45’ DAY TO SECOND

    时间间隔为3天零2小时25分45秒

    INTERVAL ‘123 2:25:45.12’ DAY(3)

    TO SECOND(2)

    时间间隔为123天零2小时25分45.12秒; 天的精度是3位数字,秒的小数部分的精度是2位数字

    INTERVAL ‘3 2:00:45’ DAY TO SECOND

    时间间隔为3天2小时0分45秒

    INTERVAL ‘-3 2:25:45’ DAY TO SECOND

    时间间隔为负数,值为3天零2小时25分45秒

    INTERVAL ‘1234 2:25:45’ DAY(3)

    TO SECOND

    时间间隔无效,因为天的位数超过了指定的精度3

    INTERVAL ‘123 2:25:45.123’ DAY

    TO SECOND(2)

    时间间隔无效,因为秒的小数部分的位数超过了指定的精度2

    下面这个INSERT语句向promotions表添加一行记录:

     INSERT INTO promotions (promotion_id, name, duration)
    VALUES (1, '10% off Z Files', INTERVAL '3' DAY);

     

    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (2, '20% off Pop 3', INTERVAL '2' HOUR);

     

    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (3, '30% off Modern Science', INTERVAL '25' MINUTE);

     

    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (4, '20% off Tank War', INTERVAL '45' SECOND);

     

    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (5, '10% off Chemistry', INTERVAL '3 2:25' DAY TO MINUTE);

     

    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (6, '20% off Creative Yell', INTERVAL '3 2:25:45' DAY TO SECOND);

     

    INSERT INTO promotions (promotion_id, name, duration)
    VALUES (7, '15% off My Front Line',
    INTERVAL '123 2:25:45.12' DAY(3) TO SECOND(2));

    下面这个查询对promotions表进行检索,注意duration列值的格式化:

     SELECT *
    FROM promotions;
    PROMOTION_ID  NAME                              DURATION
    ------------ ------------------------------   ------------------
    1   10% off Z Files                  +003 00:00:00.0000
    2   20% off Pop 3                    +000 02:00:00.0000
    3   30% off Modern Science           +000 00:25:00.0000
    4   20% off Tank War                 +000 00:00:45.0000
    5   10% off Chemistry                +003 02:25:00.0000
    6   20% off Creative Yell            +003 02:25:45.0000
    7   15% off My Front Line            +123 02:25:45.1200
    展开全文
  • INTERVAL DAY TO SECOND数据类型  Oracle语法:  INTERVAL '{ integer | integer time_expr | time_expr }'  { { DAY | HOUR | MINUTE } [ ( leading_precision ) ]  | SECOND [ ( leading_precision [, ...
    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
    展开全文
  • INTERVAL DAY TO SECOND类型可以用来存储单位为天和秒的时间间隔。下面这条语句创建一个名为promotions的表,用来存储促销信息。promotions表包含了一个INTERVAL DAY TO SECOND类型的列duration,该列用来记录促销...
  • 遇到问题: INTERVAL DAY TO SECOND, 但却获得 NUMBER 操作步骤 在查询oracl...
  • INTERVAL DAY TO SECOND数据类型 Oracle语法: INTERVAL '{ integer | integer time_expr | time_expr }'  { { DAY | HOUR | MINUTE } [ ( leading_precision ) ] | SECOND [ ( leading_precision [, ...
  • Oracle INTERVAL DAY TO SECOND数据类型

    千次阅读 2009-11-24 15:45:00
    INTERVAL DAY TO SECOND数据类型Oracle语法:INTERVAL { integer | integer time_expr | time_expr } { { DAY | HOUR | MINUTE } [ ( leading_precision ) ]| SECOND [ ( leading_precision [, fractional_seconds_...
  • Lesson 33 A day to remember

    2015-12-31 14:25:03
    What incident began the series of traffic accidents? We have all experienced days when everything goes wrong. ...A day may begin well enough, but suddenly everything seems to get out of control. What
  • Today is a good day to ……记得高中时每一次上外教课时外教都会在黑板上写上这么一句,to 后面自然接的是study english,这时突然想起,把它做为我的第一篇“文章”的标题,每天都是新的一天,呵呵,每天都good to...
  • Beginners Level Course:Day to Day with Linux

    千次阅读 2015-05-05 08:25:47
    关闭Linux(关机)  此时此刻你应该已经安装了Linux,并且你正在左顾右看的你有什么。当你结束时,你必须关闭计算机。实际上,有永远也不关机的...http://www.linux.org/threads/day-to-day-with-linux.4091/
  • Oracle语法:INTERVAL '{ integer | integer time_expr | time_expr }'{ { DAY | HOUR | MINUTE } [ ( leading_precision ) ]| SECOND [ ( leading_precision [, fractional_seconds_precision ] ) ] }[ TO ...
  • INTERVAL YEAR TO MONTH数据类型Oracle语法:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确...
  • 文档地址:...   INTERVAL YEAR TO MONTH Datatype You use the datatype INTERVAL YEAR TO MONTH to store and manipulate intervals of y
  • 转载自: http://space.itpub.net/18801059/viewspace-571258<br />http://rocolex.blog.163.com/blog/static/68446410201031210442396/<br />  先记录这两篇比较好的文章,下次再来总结,占座
  • 两者都可以表示时间,DATE的精度到秒,TIMESTAMP的精度到秒的小数,更为精确。INTERVAL DAY() TO SECOND() 用来存储时间间隔,可以设定时间的精度。类似的还有INTERVAL YEAR TO MONTH等。 TIMESTAMP WITH T
  • 每个人与大牛都是一步之遥,迈出自己脚下的第一步,那么最困难的部分已经解决了。
  • “INTERVAL DAY TO SECOND”类型转换为字符串或者数字,但是没有找到一个比较好的方法,只找到了EXTRACT函数。 下面是EXTRACT (datetime)的简要说明和使用。 “INTERVAL DAY TO SECOND”类型存储两个...
  • Oracle语法:  INTERVAL '{ integer | integer time_expr | time_expr ...{ { DAY | HOUR | MINUTE } [ ( leading_precision ) ]  | SECOND [ ( leading_precision [, fractional_seconds_precision ] ) ] }  [ TO
  • ORA-00932: inconsistent datatypes: expected NUMBER got INTERVAL DAY TO SECOND 因为我的logon_time类型是TIMESTAMP,可以转换类型为date: SQL> select floor(sysdate-cast(logon_time as date)) from ...
  • EXTRACT(HOUR FROM run_duration) * 60 * 60 +  EXTRACT(MINUTE FROM run_duration) * 60 +  EXTRACT(SECOND FROM run_duration)
  • [每日一题] OCP1z0-047 :2013-08-10 INTERVAL DAY TO SECOND
  • You need to create a table for a banking application.One of the columns in the table has the following requirements: 1) You want a column in the table to store the duration of the credit period

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,653
精华内容 29,061
关键字:

dayto