我们有一个表格,其中包含最后发布的Pages日期。但是字段类型是数字,而Page的LastPublished日期存储为UnixTimeStamp(13位数字)。 我想生成包含最新发布项目的报告(每天超过20页将发布)。
如果该字段是日期,那么我可以查询但它的数字格式。所以,请帮我生成报告。
样本表:
ID Approved Path PublishedDate
----------------------------------------------------------------
206b50140aSTFL approved /LocaleFlags/Small 1502866591000
dc563a2db23RD approved /LocaleFlags/Small 1442230611000
答案 0 :(得分:0)
假设您的时间戳以毫秒为单位(因为您说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
但是,如果你只是想找到昨天的页面,那么convert that date to a unix timestamp:
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