В PostgreSQL временная метка эпохи представляет собой количество секунд, прошедших с 1 января 1970 года (эпоха Unix). Преобразование временных меток эпох в удобочитаемые даты является общим требованием во многих приложениях. В этой статье блога мы рассмотрим несколько методов преобразования эпохи в дату в PostgreSQL, приведя примеры кода для каждого подхода.
Метод 1: использование функции TO_TIMESTAMP
Функция TO_TIMESTAMP в PostgreSQL преобразует временную метку эпохи Unix в временную метку в формате часового пояса. Вот пример:
SELECT TO_TIMESTAMP(1611787645) AS converted_date;
Метод 2: использование функции TO_TIMESTAMP с интервалом
Функция TO_TIMESTAMP также может использоваться в сочетании с интервалом для преобразования временных меток эпохи. Вот пример:
SELECT TIMESTAMP 'epoch' + INTERVAL '1611787645 second' AS converted_date;
Метод 3: использование функции TO_CHAR
Функция TO_CHAR в PostgreSQL позволяет форматировать временную метку в определенное строковое представление. Объединив его с функцией TO_TIMESTAMP, вы можете преобразовать временные метки эпох в форматированные даты. Вот пример:
SELECT TO_CHAR(TO_TIMESTAMP(1611787645), 'YYYY-MM-DD HH24:MI:SS') AS converted_date;
Метод 4: использование функции DATE_TRUNC
Функция DATE_TRUNC в PostgreSQL позволяет урезать временную метку до определенной единицы измерения (например, года, месяца, дня). Объединив его с функцией TO_TIMESTAMP, вы можете преобразовать временные метки эпох в усеченные даты. Вот пример:
SELECT DATE_TRUNC('day', TO_TIMESTAMP(1611787645)) AS converted_date;
Метод 5: использование функции EXTRACT
Функция EXTRACT в PostgreSQL извлекает определенную часть (например, год, месяц, день) из временной метки. Объединив его с функцией TO_TIMESTAMP, вы можете извлечь нужные компоненты из временных меток эпох. Вот пример:
SELECT EXTRACT(YEAR FROM TO_TIMESTAMP(1611787645)) AS year,
EXTRACT(MONTH FROM TO_TIMESTAMP(1611787645)) AS month,
EXTRACT(DAY FROM TO_TIMESTAMP(1611787645)) AS day;
Преобразование временных меток эпох в удобочитаемые даты упрощается с помощью различных методов, доступных в PostgreSQL. Предпочитаете ли вы использовать функцию TO_TIMESTAMP, функцию TO_CHAR, функцию DATE_TRUNC или функцию EXTRACT, вы можете выбрать метод, который лучше всего соответствует вашим конкретным требованиям. Используя эти методы, вы можете эффективно работать с временными метками эпох в своих приложениях PostgreSQL.