查詢:間隔功能
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