方法:1.利用「to_timestamp()」函數將字串轉換成timestamp;2、利用「to_date()」函數將timestamp轉換date型;3、利用CAST函數將timestamp型與date相互轉換。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
1、字元型轉成timestamp
select to_timestamp(loga006,'dd-MON-yyhh:mi:ss.ff AM') from loga_t;
2、timestamp轉成date型
select cast(to_timestamp(loga006,'dd-MON-yyhh:mi:ss.ff AM')as date) timestamp_to_date loga_t
3、date型轉成timestamp
select cast(sysdateas timestamp) date_to_timestamp from loga_t
4、取得timestamp格式的系統時間
select systimestamp from loga_t
先說下date和timestamp的不同吧。
大家知道,date類型能夠儲存月,年,日,世紀,時,分和秒,而經常的格式為'MM/DD/YYYY HH24:MI:SS'或'MM-DD- YYYY HH24:MM:SS'。
可以看到,date只能精確到秒,不能看到秒之內的時間,一般的時間計算足夠,但是對時間間隔等要求比較高的計算等date就有點力不從心了
那麼為了解決date類型粒度不夠的問題,ORACLE擴展出了timestamp時間戳類型,timestamp類型引入了小數秒的信息。
二、得到系統的date時間和timestamp時間
1、得到系統時間,返回成date類型,可如下:
SQL>SELECT SYSDATE FROM DUAL;
2、得到系統時間,返回成timestamp類型,可如下:
SQL> SELECT SYSTIMESTAMP FROM DUAL;
三、date型別與timestamp型別之間的轉換
1、date--》timestamp,範例如下:
SQL>select to_date(to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual
2 、timestamp --》date,範例如下:
SQL>select to_timestamp(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual
或使用CAST函數進行轉換也行,範例如下:
SQL> SELECT CAST(date1 AS TIMESTAMP) "Date" FROM t;
同理,date到timestamp,也可利用CAST函數進行轉換。
推薦教學:《Oracle影片教學》
以上是oracle怎麼進行timestamp轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!