小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ORACLE DATE和TIMESTAMP數(shù)據(jù)類型的比較

 種下一粒籽 2012-06-14

DATE數(shù)據(jù)類型

這個數(shù)據(jù)類型我們實在是太熟悉了,當(dāng)我們需要表示日期和時間的話都會想到date類型。它可以存儲 月,年,日,世紀(jì),時,分和秒。它典型地用來表示什么時候事情已經(jīng)發(fā)生或?qū)⒁l(fā)生。DATE數(shù)據(jù)類型的 問題在于它表示兩個事件發(fā)生時間間隔的度量粒度是。這個問題將在文章稍后討論timestamp的時候被 解決。可以使用TO_CHAR函數(shù)把DATE數(shù)據(jù)進(jìn)行傳統(tǒng)地包裝,達(dá)到表示成多種格式的目的。

SQL> SELECT TO_CHAR(date1,'MM/DD/YYYY HH24:MI:SS') "Date" FROM date_table;

Date

---------------------------

06/20/2003 16:55:14

06/26/2003 11:16:36

我見到的大多數(shù)人陷入的麻煩就是計算兩個時間間的間隔年數(shù)、月數(shù)、天數(shù)、小時數(shù)和秒數(shù)。你需要 明白的是,當(dāng)你進(jìn)行兩個日期的相減運算的時候,得到的是天數(shù)。你需要乘上每天的秒數(shù)(1天=86400秒 ),然后,你可以再次計算得到你想要的間隔數(shù)。下面就是我的解決方法,可以精確計算出兩個時間的間 隔。我明白這個例子可以更簡短些,但是我是為了顯示所有的數(shù)字來強調(diào)計算方式。

1     SELECT TO_CHAR(date1,'MMDDYYYY:HH24:MI:SS') date1,

2     TO_CHAR(date2,'MMDDYYYY:HH24:MI:SS') date2,

3     trunc(86400*(date2-date1))-

4     60*(trunc((86400*(date2-date1))/60)) seconds,

5     trunc((86400*(date2-date1))/60)-

6     60*(trunc(((86400*(date2-date1))/60)/60)) minutes,

7     trunc(((86400*(date2-date1))/60)/60)-

8     24*(trunc((((86400*(date2-date1))/60)/60)/24)) hours,

9     trunc((((86400*(date2-date1))/60)/60)/24) days,

10     trunc(((((86400*(date2-date1))/60)/60)/24)/7) weeks

11*    FROM date_table

DATE1       DATE2        SECONDS  MINUTES   HOURS   DAYS    WEEKS

----------------- ----------------- ---------- ---------- ---------- ---------- -------- --

06202003:16:55:14 07082003:11:22:57     43     27     18    17      2

06262003:11:16:36 07082003:11:22:57     21     6     0    12      1


本文來自編程入門網(wǎng):http://www./database/Oracle/201110/31039.htm

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多