Ето два начина за преобразуване на даден юлиански ден в неговата стойност на датата в PostgreSQL.
Първият метод директно въвежда юлианския ден в типа данни за дата.
Вторият метод използва to_date() функция, за да върне същия резултат.
Юлиански ден е броят на дните от понеделник, 1 януари 4713 г. пр. н. е. по пролептичния юлиански календар, който е 24 ноември 4714 г. пр. н. е. в пролептичния григориански календар.
Директно въвеждане
PostgreSQL всъщност използва юлиански дати вътрешно за всички изчисления на дата/час. Следователно можем да използваме J префикс заедно с ::date за да използвате юлианския ден като директен вход в типа данни за дата.
Ето пример за демонстрация.
SELECT 'J2459569'::date; Резултат:
2021-12-20
Тук юлианският ден е 2459569, което представлява 2021-12-20.
Функцията to_date()
Алтернативен, малко по-малко сбит метод е да използвате to_date() функция.
SELECT to_date('2459569', 'J'); Резултат:
2021-12-20
Същият резултат.