簡體   English   中英

Oracle SQL查詢將Unix時間戳轉換為Java日期

[英]Oracle SQL Query to Convert Unix Timestamp to date for Java

我們有一個表格,其中包含頁面的上次發布日期。 但是字段類型是數字,Page的LastPublished日期存儲為UnixTimeStamp(13位數字)。 我想生成包含昨天發布的項目的報告(每天將發布20頁以上的頁面)。

如果字段是日期,那么我可以查詢,但其數字格式。 因此,請幫助我生成報告。

樣品表:

ID              Approved       Path                PublishedDate
----------------------------------------------------------------
206b50140aSTFL  approved       /LocaleFlags/Small  1502866591000
dc563a2db23RD   approved       /LocaleFlags/Small  1442230611000

假設您的時間戳以毫秒為單位(因為您說unix時間戳是13位數字),然后除以1000以獲取自該紀元以來的秒數,您可以使用NUMTODSINTERVAL將其更改為一個間隔並將其添加到紀元TIMESTAMP '1970-01-01 00:00:00'

SELECT TIMESTAMP '1970-01-01 00:00:00' + NUMTODSINTERVAL( PublishedDate / 1000, 'SECOND' )
FROM   your_table

但是,如果您只想查找昨天的頁面,則可以將該日期轉換為unix時間戳

SELECT *
FROM   your_table
WHERE  PublishedDate BETWEEN ( TRUNC( SYSDATE ) - 1 - DATE '1970-01-01' ) * 24*60*60*1000
                         AND ( TRUNC( SYSDATE ) - DATE '1970-01-01' ) * 24*60*60*1000 - 1

暫無
暫無

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

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