查询:间隔功能
SELECT INTERVAL '300' month,
INTERVAL '54-2' year to month,
INTERVAL ' 11:12:10.1234567' hour to second
FROM DUAL;
上述查询的输出是:
+25-00,+54-02,+00 11:12:10.1234567
可有人请向我解释如何查询给这个输出,并提供有关的解释间隔函数?
查询:间隔功能
SELECT INTERVAL '300' month,
INTERVAL '54-2' year to month,
INTERVAL ' 11:12:10.1234567' hour to second
FROM DUAL;
上述查询的输出是:
+25-00,+54-02,+00 11:12:10.1234567
可有人请向我解释如何查询给这个输出,并提供有关的解释间隔函数?
INTERVAL
不是函数它是引入了间隔字面并且这种表示数据类型关键字。类似于文字DATE '2011-05-04'
或TIMESTAMP '2011-05-04 17:18:19'
正在做的事情。
详细大约间隔文字
http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements003.htm#SQLRF00221
http://docs.oracle.com/cd/E11882_01/server.112/e41084/expressions009.htm#SQLRF52084
详细关于间隔数据类型:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#i128552
间隔是用于扣除或添加一个函数(天,年,月,小时,分钟和秒)到指定日期。 区间'300'月份:25-0 原因:300/12(月份)给出的商数为25,余数为0,因此输出将为25-0
区间'54 -2'年复一月: 54-2 原因:因为您没有提及它所提供的任何日期。 如果您使用 从双重选择sysdate + interval '54 -2'年复一年; 输出将是:2066年1月12日
sydate:2012年1月10日 因此增加54至12 = 66 并加入2个月至辛这将是分解
和最后一个选项一样。
请参阅:http://askanantha.blogspot.com/2007/08/interval-datatypes-in-oracle.html – 2011-05-04 06:37:02