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 下午”