1. 程式人生 > >Oracle date和timestamp

Oracle date和timestamp

       這些天在開發一些介面,和對方確定資料型別真的是,表示已無力。大致業務是從我們的庫中讀取資料,然後定時插入到他們的庫中。我們庫中表日期欄位型別都是DATE,不過他們那裡需要的是varchar(),這個還好說,轉換一下就好吧。過了兩天說不是varchar(),他們改成timestamp,然後對方要模擬的資料,為了插入timestamp,可是花了不少時間呢。

一、Date與timestamp

        Date型別是Oracle常用的日期型變數,他的時間間隔是秒。兩個日期型相減得到是兩個時間的間隔,注意單位是“天”。
        timestamp是DATE型別的擴充套件,可以精確到小數秒(fractional_seconds_precision),可以是0 to9,預設是6。兩個timestamp相減的話,不能直接的得到天數書,而是得到,多少天,多少小時,多少秒等。

二、相互轉換

      to_char來轉換timestamp——>date:

      to_date(to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') 

      date ——>timestamp:

    to_timestamp(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')

     例子:“2016-09-14 16:50:08 ”轉換timestamp後為:“14-9月 16 04.50.08.000000 下午”