簡體   English   中英

在oracle sql中將unix時間格式轉換為日期/時間格式

[英]Convert unix time format to date/time format in oracle sql

我有一個名為data_time(varchar)的列,大約有20萬行。 我想將這些行轉換為普通日期/時間。

我試過這個沒有運氣。

行中的示例值:927691200000000

SELECT * TO_DATE('19700101',yyyymmdd') + ((date_time/1000)/24/60/60) thedate 2 FROM table1

我是SQL的新手,非常感謝!

謝謝。

我清理了明顯的語法錯誤,添加了一些日期格式,只是硬編碼了你提供的一個樣本值,因此:

SELECT to_char(TO_DATE('19700101','yyyymmdd') + ((927691200000000/1000)/24/60/60),'DD-MON-YYYY') thedate  FROM dual;

這產生了:

ERROR at line 1:
ORA-01841: (full) year must be between -4713 and +9999, and not be 0

這表明你的unix時間(可能是?)以微秒表示,而不是毫秒。

所以,我修改了查詢:

SELECT to_char(TO_DATE('19700101','yyyymmdd') + ((927691200000000/1000000)/24/60/60),'DD-MON-YYYY') thedate  FROM dual;

哪個回報:

THEDATE
-----------
26-MAY-1999

我認為哪個是正確的?

希望有所幫助....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM