Oracle 時間戳與日期的轉換

2021-08-16 19:13:28 字數 1294 閱讀 5025

一、to_char() 與 to_date()函式

1. to_char() 將時間日期按照指定的格式輸出,得到的是字串,而非date型別。

select sysdate,to_char(sysdate, 'yyyy-mm-dd')from dual;

select sysdate,to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')from dual;

也可以用to_char()得到單獨的年-月-日-時-分-秒的字串

select sysdate,to_char(sysdate,'yyyy')from dual;

select sysdate,to_char(sysdate,'mm')from dual;

select sysdate,to_char(sysdate,'hh24')from dual;

select sysdate,to_char(sysdate,'mi')from dual;

2. to_date() 將字串轉換為具體指定的時間日期格式

select sysdate,to_date('20200101','yyyy-mm-dd')from dual;

select sysdate,to_date('20200101','yyyy-mm-dd hh24:mi:ss')from dual;

注:to_date()得到的日期格式是和系統的日期格式保持一致;

得到的時間為當天的 00 :00:00。

二、時間戳轉換為date格式

需要to_char() 與 to_date()函式結合,如下

select to_char(create_time(這裡時間戳) / (1000 * 60 * 60 * 24) +

to_date('1970-01-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd') as createtime

from table(表名) ;

原理:用 to_date 函式將字串』1970-01-01 08:00:00』轉換為日期作為起始時間,同時將時間戳轉換為天數,在此基礎上將兩者相加,即為該時間戳對應的具體日期時間,最後擷取我們需要的日期部分,並且取名為createtime。

需要注意幾點:

1.採用to_char函式轉換為字串是為了後期進行傳輸;

2.從八點開始計算是採用北京時間;

3.以24小時的形式顯示出來要用hh24;

4.oracle資料庫中不區分大小寫,為了將分鐘和月份區分開來,將分鐘用mi表示;

Oracle 時間戳與日期的轉換

1.to char 將時間日期按照指定的格式輸出,得到的是字串,而非date型別。select sysdate,to char sysdate,yyyy mm dd from dual select sysdate,to char sysdate,yyyy mm dd from dual selec...

Oracle 時間戳與日期的轉換

一 to char 與 to date 函式 1.to char 將時間日期按照指定的格式輸出,得到的是字串,而非date型別。select sysdate,to char sysdate,yyyy mm dd from dual select sysdate,to char sysdate,yyy...

Oracle 時間戳與日期的轉換

一 to char 與 to date 函式 1.to char 將時間日期按照指定的格式輸出,得到的是字串,而非date型別。select sysdate,to char sysdate,yyyy mm dd from dual select sysdate,to char sysdate,yyy...