1

Temat: Konwersja Unix Time

Witam

Mam problem z obróbką wartości w Unix Time, baza aplikacji do której tworzyłem kwerendy zmieniła się z MySQL na PostgreSQL.

W MySQL TIMESTAMP konwertowałem na datę w ten sposób:

FROM_UNIXTIME(taskdetails.CREATEDDATE/1000)

Ten sam sposób działa również w PostgreSQL.

Ale już ograniczenie do rekordów wartości z ostatnich 24h nie działa:

WHERE     (DATE_SUB(CURDATE(), INTERVAL 1 DAY) <=
               FROM_UNIXTIME(`workorder`.`CREATEDTIME` / 1000))

Możecie mi podpowiedzieć gdzie szukać rozwiązania?

Potrzebuję takiego ograniczenia (interwału) dla wykonania raportu dobowego.

2

Odp: Konwersja Unix Time

konwersji z unixtime możesz dokonać tak jak w poniżej

with tab (unixtime) as (
select extract ('epoch' from current_timestamp::timestamp)
)
select '1970-01-01'::date+(unixtime/86400.0) * interval '24:00:00' wyliczony_z_unixtime,unixtime,current_timestamp
from tab;