精华内容
下载资源
问答
  • Oracle interval 数据类型

    2012-03-09 09:15:29
    INTERVAL DAY TO SECOND数据类型Oracle语法:INTERVAL '{ integer | integer time_expr | time_expr }'{ { DAY | HOUR | MINUTE } [ ( leading_precision ) ]| SECOND [ ( leading_precision [, fractional_seconds_...

    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秒

    展开全文
  • Interval数据类型

    2010-04-16 17:41:10
    Notes: Interval后无法跟变量,如interval 变量 second(date,timestamp同样)。计算操作用1/24/60/60实现。v_date:=date '2000-1-1'v_time:=...
    Notes: Interval后无法跟变量,如interval 变量 second(date,timestamp同样)。计算操作用1/24/60/60实现。
    v_date:=date '2000-1-1'
    v_time:=timestamp '2000-1-1 19:00:00'

    [转]INTERVAL数据类型

    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

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

    转载于:http://blog.itpub.net/23590362/viewspace-659956/

    展开全文
  • INTERVAL YEAR TO MONTH数据类型 Oracle语法: INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}] 该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为...
    INTERVAL YEAR TO MONTH数据类型
    

    Oracle语法:
    INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]

    该数据类型常用来表示一段时间差, 注意时间差 只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2.

    eg:
    INTERVAL '123-2' YEAR(3) TO MONTH
    表示: 123年2个月, "YEAR(3)" 表 示年的精度为3, 可见"123"刚好为3为有效 数值, 如果该处YEAR(n),  n<3就会出错, 注意默认是2.

    INTERVAL '123' YEAR(3)
    表示: 123年0个月

    INTERVAL '300' MONTH(3)
    表示: 300个月, 注意该处MONTH的精度是3啊 .

    INTERVAL '4' YEAR
    表示: 4年, 同 INTERVAL '4-0' YEAR TO MONTH 是一样的

    INTERVAL '50' MONTH
    表示: 50个月, 同 IN TERVAL ' 4-2' YEAR TO MONTH 是一样

    INTERVAL '123' YEAR
    表示: 该处表示有错误, 123精度是3了, 但系统默认是2, 所以该处应该写成 INTERVAL '123' YEAR(3) 或"3"改成大于3小于等于9的数值都可以的

    INTERVAL '5-3' YEAR TO MONTH + INTERVAL '20' MONTH =
    INTERVAL '6-11' YEAR TO MONTH
    表示: 5年3个月 + 20个月 = 6年11个月
    展开全文
  • Oracle INTERVAL YEAR TO MONTH数据类型

    千次阅读 2010-11-24 10:04:00
    Oracle INTERVAL YEAR TO MONTH数据类型

     

    Oracle语法:
    INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]

    该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2.

    eg:
    INTERVAL '123-2' YEAR(3) TO MONTH    
    表示: 123年2个月, "YEAR(3)" 表示年的精度为3, 可见"123"刚好为3为有效数值, 如果该处YEAR(n), n<3就会出错, 注意默认是2.

    INTERVAL '123' YEAR(3)
    表示: 123年0个月

    INTERVAL '300' MONTH(3)
    表示: 300个月, 注意该处MONTH的精度是3啊.

    INTERVAL '4' YEAR    
    表示: 4年, 同 INTERVAL '4-0' YEAR TO MONTH 是一样的

    INTERVAL '50' MONTH    
    表示: 50个月, 同 INTERVAL '4-2' YEAR TO MONTH 是一样

    INTERVAL '123' YEAR    
    表示: 该处表示有错误, 123精度是3了, 但系统默认是2, 所以该处应该写成 INTERVAL '123' YEAR(3) 或"3"改成大于3小于等于9的数值都可以的

    INTERVAL '5-3' YEAR TO MONTH + INTERVAL '20' MONTH =
    INTERVAL '6-11' YEAR TO MONTH
    表示: 5年3个月 + 20个月 = 6年11个月

    与该类型相关的函数:
    NUMTODSINTERVAL(n, 'interval_unit')
    将n转换成interval_unit所指定的值, interval_unit可以为: DAY, HOUR, MINUTE, SECOND
    注意该函数不可以转换成YEAR和MONTH的.

    NUMTOYMINTERVAL(n, 'interval_unit')
    interval_unit可以为: YEAR, MONTH

    eg: (Oracle Version 9204, RedHat Linux 9.0)
    SQL> select numtodsinterval(100,'DAY') from dual;

    NUMTODSINTERVAL(100,'DAY')                                                     
    ---------------------------------------------------------------------------    
    +000000100 00:00:00.000000000                                                  

    SQL> c/DAY/SECOND
    1* select numtodsinterval(100,'SECOND') from dual
    SQL> /

    NUMTODSINTERVAL(100,'SECOND')                                                  
    ---------------------------------------------------------------------------    
    +000000000 00:01:40.000000000                                                  

    SQL> c/SECOND/MINUTE
    1* select numtodsinterval(100,'MINUTE') from dual
    SQL> /

    NUMTODSINTERVAL(100,'MINUTE')                                                  
    ---------------------------------------------------------------------------    
    +000000000 01:40:00.000000000                                                  

    SQL> c/MINUTE/HOUR
    1* select numtodsinterval(100,'HOUR') from dual
    SQL> /

    NUMTODSINTERVAL(100,'HOUR')                                                    
    ---------------------------------------------------------------------------    
    +000000004 04:00:00.000000000                                                  

    SQL> c/HOUR/YEAR
    1* select numtodsinterval(100,'YEAR') from dual
    SQL> /
    select numtodsinterval(100,'YEAR') from dual
    *
    ERROR at line 1:
    ORA-01760: illegal argument for function

    SQL> select numtoyminterval(100,'year') from dual;

    NUMTOYMINTERVAL(100,'YEAR')                                                    
    ---------------------------------------------------------------------------    
    +000000100-00                                                                  

    SQL> c/year/month
    1* select numtoyminterval(100,'month') from dual
    SQL> /

    NUMTOYMINTERVAL(100,'MONTH')                                                   
    ---------------------------------------------------------------------------    
    +000000008-04                                                                  


    时间的计算:
    SQL> select to_date('1999-12-12','yyyy-mm-dd') - to_date('1999-12-01','yyyy-mm-dd') from dual;

    TO_DATE('1999-12-12','YYYY-MM-DD')-TO_DATE('1999-12-01','YYYY-MM-DD')          
    ---------------------------------------------------------------------          
    11          
    -- 可以相减的结果为天.

    SQL> c/1999-12-12/1999-01-12
    1* select to_date('1999-01-12','yyyy-mm-dd') - to_date('1999-12-01','yyyy-mm-dd') from dual
    SQL> /

    TO_DATE('1999-01-12','YYYY-MM-DD')-TO_DATE('1999-12-01','YYYY-MM-DD')          
    ---------------------------------------------------------------------          
    -323          
    -- 也可以为负数的

    SQL> c/1999-01-12/2999-10-12
    1* select to_date('2999-10-12','yyyy-mm-dd') - to_date('1999-12-01','yyyy-mm-dd') from dual
    SQL> /

    TO_DATE('2999-10-12','YYYY-MM-DD')-TO_DATE('1999-12-01','YYYY-MM-DD')          
    ---------------------------------------------------------------------          
    365193          

    下面看看INTERVAL YEAR TO MONTH怎么用.
    SQL> create table bb(a date, b date, c interval year(9) to month);

    Table created.

    SQL> desc bb;
    Name                                      Null?    Type
    ----------------------------------------- -------- ----------------------------
    A                                                  DATE
    B                                                  DATE
    C                                                  INTERVAL YEAR(9) TO MONTH

    SQL> insert into bb values(to_date('1985-12-12', 'yyyy-mm-dd'), to_date('1984-12-01','yyyy-mm-dd'), null)

    1 row created.

    SQL> select * from bb;

    A         B                                                                    
    --------- ---------                                                            
    C                                                                              
    ---------------------------------------------------------------------------    
    12-DEC-85 01-DEC-84                                                            


    SQL> update bb set c = numtoyminterval(a-b, 'year');

    1 row updated.

    SQL> select * from bb;

    A         B                                                                   
    --------- ---------                                                           
    C                                                                             
    ---------------------------------------------------------------------------   
    12-DEC-85 01-DEC-84                                                           
    +000000376-00                                                                 

    -- 直接将相减的天变成年了, 因为我指定变成年的
    SQL> select a-b, c from bb;

    A-B                                                                    
    ----------                                                                    
    C                                                                             
    ---------------------------------------------------------------------------   
    376                                                                    
    +000000376-00                                                                 


    SQL> insert into bb values(null,null,numtoyminterval(376,'month'));

    1 row created.

    SQL> select * from bb;

    A         B             C                                                      
    --------- ---------    --------------------------------------------   
    12-DEC-85 01-DEC-84    +000000376-00                                                                 
    +000000031-04                                        

    SQL> insert into bb values ( null,null, numtoyminterval(999999999,'year'));

    1 row created.

    SQL> select * from bb;

    A           B            C                               
    ---------   ---------     ---------------------------------------------------------------------   
    12-DEC-85   01-DEC-84   +000000376-00                                                                 
    +000000031-04
    +999999999-00

     

    展开全文
  • INTERVAL YEAR TO MONTH数据类型Oracle语法:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确...
  • Oracle INTERVAL DAY TO SECOND数据类型

    千次阅读 2014-10-22 09:33:03
    INTERVAL DAY TO SECOND数据类型  Oracle语法:  INTERVAL '{ integer | integer time_expr | time_expr }'  { { DAY | HOUR | MINUTE } [ ( leading_precision ) ]  | SECOND [ ( leading_precision [, ...
  • INTERVAL数据类型-007

    万次阅读 2007-05-06 00:23:00
    INTERVAL数据类型用来存储两个时间戳之间的时间间隔。 可以指定years and months,或者days,hours,minuts,seconds之间的间隔。oracle支持两种INTEVAL类型,它们分别是YEAR TO MONTH和DAY TO SECOND。每个类型都包含...
  • Oracle中的INTERVAL数据类型详解

    千次阅读 2012-09-02 19:12:19
    INTERVAL YEAR TO MONTH数据类型 Oracle语法: INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}] 该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. 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_...
  • INTERVAL DAY TO SECOND数据类型 Oracle语法: INTERVAL '{ integer | integer time_expr | time_expr }'  { { DAY | HOUR | MINUTE } [ ( leading_precision ) ] | SECOND [ ( leading_precision [, ...
  • 文档地址:...   INTERVAL YEAR TO MONTH Datatype You use the datatype INTERVAL YEAR TO MONTH to store and manipulate intervals of y
  • 在Sequelize中添加对PostgreSQLINTERVAL数据类型的支持。 动机 读: 安装 npm install --save sequelize-interval-postgres 用于定义模型 models/my_model.js const withInterval = require ( 'sequelize-...
  • SQL :datetime和interval数据类型的使用, 备查datetime和interval是两种与时间有关的数据类型。它们的作用体现在以下几个方面:创建或者更改记录库中的某条记录、当某个时间发生时运行记录、或者计算某个datetime...
  • Nominal,Ordinal,Interval and Ratio分别是定类、定序、定距、定比,定类变量值只是分类,如性别变量的男女;定序变量值可以排序,但不能加减,如年级变量;定距变量值是数字型变量,可以加减;定比变量值和定距变量值...
  • INTERVAL YEAR TO MONTH数据类型 INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)] [TO {YEAR | MONTH}] 该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, ...
  • INTERVAL '{ integer | integer time_expr | time_expr }'  { { DAY | HOUR | MINUTE } [ ( leading_precision ) ]  | SECOND [ ( leading_precision [, fractional_seconds_precision ] ) ] }  [ TO
  • 使用INTERVAL DAY TO SECOND类型

    千次阅读 2013-04-23 11:05:04
    INTERVAL DAY TO SECOND类型可以用来存储单位为天和秒的时间间隔。下面这条语句创建一个名为promotions的表,用来存储促销信息。promotions表包含了一个INTERVAL DAY TO SECOND类型的列duration,该列用来记录促销...
  • 数据类型 。它们的作用体现在以下几个方面:创建或者更改记录库中的某条记录、当某个时间发生时运行记录、或者计算某个 datetime 变量建立后所经历过的时间。本文将介绍 SQL 92标准对上述两种 数据类型 的描述。  ...
  • ORACLE中的INTERVAL类型

    千次阅读 2012-09-14 13:47:53
    INTERVAL数据类型用来存储两个时间戳之间的时间间隔。可以指定years and months,或者days,hours,minuts,seconds之间的间隔。 ORACLE支持两种INTEVAL类型,它们分别是YEAR TO MONTH和DAY TO SECOND。每个类型都包含...
  • 对oracle date,timestamp,interval数据类型的详细讲解。
  • Hive数据类型和使用注意事项详解

    万次阅读 多人点赞 2018-05-11 00:56:35
    了解Hive数据类型 ,是Hive编程的基础。使用hive建表,首先要明白hive常用的数据类型有哪些,可以存储哪些类型的数据。其实Hive支持关系型数据库中的大多数基本数据类型,且同时支持关系型数据库中少见的3种集合数...
  • PostgreSQL数据类型

    千次阅读 2015-04-11 17:19:23
    在创建表的同时,要求每列都要指定数据类型,即什么样的数据要存储在表中的字段。 这使几个好处: 一致性: 对相同的数据类型的列的操作给出了一致的结果,通常是最快的。 验证: 正确使用的数据类型表示数据和拒绝的...
  • Oracle INTERVAL

    2015-03-11 13:42:00
    转自:... INTERVAL DAY TO SECOND数据类型Oracle语法:INTERVAL '{ integer | integer time_expr | time_expr }'{ { DAY | HOUR | MINUTE } [ ( leading_preci...
  • oracle数据类型

    千次阅读 2013-10-28 00:02:12
    oracle数据类型      有道是,磨刀不误砍柴工。多了解一些底层的东西,对于Oracle开发、维护大有裨益。个人总结了一些Oracle数据类型集解,相信读者阅读了本文以后,Oracle数据库开发起来会事半功倍! 在...
  • Flask SQLAlchemy数据类型

    千次阅读 2018-11-10 16:54:28
    1 数据类型 类型名 python类型 描述 2 数据库类型设计 class Image(db.Model): __tablename__ = &amp;amp;amp;amp;quot;images&amp;amp;amp;amp;quot; id = db.Column...
  • ORACLE日期数据类型

    万次阅读 2017-10-03 15:28:36
    oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTERVAL及TIME ZONE实际用得比较少,所以本文内容未涉及这两个...
  • PostgreSQL 数据类型

    千次阅读 2017-11-06 20:13:06
    PostgreSQL 数据类型 6.1概述    PostgreSQL提供了丰富的数据类型。用户可以使用 CREATE TYPE 命令在数据库中创建新的数据类型。PostgreSQL 的数据类型被分为四种,分别是基本数据类型、复合数据类型、域和伪类型...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 100,445
精华内容 40,178
关键字:

interval是什么数据类型