Каждый раз, когда пытаюсь вручную писать SQL-запросы, спотыкаюсь об работу с датой/временем. Что у нас есть: есть отдельные типы полей, специально созданные для даты/времени: DATETIME И TIMESTAMP, есть ещё отдельно DATE и TIME... что-то уже много...
С базой PostgreSQL я имел меньше опыта чем скажем с MySQL, а тут мне попалась база PostgreSQL где для даты/времени используется поле типа с плавающей точкой double precision. Сутки уже мозгую как с этим работать.
Если вывести содержимое поля как есть, то выведется число 45672.38114849537
Спросил у нейросети, говорит нужно использовать функцию to_timestamp, делаю запрос:
SELECT to_timestamp(start_time) FROM TReportAppUsage;
выводит 1970-01-01 12:41:13.617443+00 хотя на самом деле должен быть 2025 год
При этом в описании структуры базы сказано, что отсчёт даты ведётся не с 01.01.1970 (начало эпохи Unux), а с 30.12.1899.
Помогите продраться сквозь SQL-премудрости и понять как вывести на консоль дату/время из этого поля. И наверное на этом вопрос будет не исчерпан, а сразу жет перейдёт в следующий вопрос, что в опции WHERE писать, чтобы выполнить фильтрацию по подобной дате.