При работе с данными временных меток в SQL часто встречаются временные метки Unix. Временные метки Unix представлены как количество секунд, прошедших с 1 января 1970 года, 00:00:00 UTC. Преобразование временной метки Unix в удобочитаемый формат даты и времени является частым требованием при анализе данных и составлении отчетов. В этой статье мы рассмотрим несколько методов преобразования отметки времени Unix в дату и время в SQL, сопровождаемые примерами кода.
Метод 1: использование функции DATEADD
SELECT DATEADD(second, your_timestamp_column, '1970-01-01 00:00:00') AS converted_datetime
FROM your_table;
Метод 2: использование функции DATEFROMPARTS (для SQL Server 2012 и более поздних версий)
SELECT DATEADD(second, your_timestamp_column, DATEFROMPARTS(1970, 1, 1)) AS converted_datetime
FROM your_table;
Метод 3: использование функции TO_TIMESTAMP (для Oracle)
SELECT TO_TIMESTAMP(your_timestamp_column) AS converted_datetime
FROM your_table;
Метод 4: использование функции FROM_UNIXTIME (для MySQL)
SELECT FROM_UNIXTIME(your_timestamp_column) AS converted_datetime
FROM your_table;
Метод 5: использование функции TIMESTAMP With TIME ZONE (для PostgreSQL)
SELECT TIMESTAMPTZ 'epoch' + your_timestamp_column * INTERVAL '1 second' AS converted_datetime
FROM your_table;
Метод 6: использование функции STRFTIME (для SQLite)
SELECT STRFTIME('%Y-%m-%d %H:%M:%S', your_timestamp_column, 'unixepoch') AS converted_datetime
FROM your_table;
Метод 7: использование функции TO_TIMESTAMP (для DB2)
SELECT TIMESTAMP_FORMAT(your_timestamp_column, 'YYYY-MM-DD HH:MI:SS') AS converted_datetime
FROM your_table;
В этой статье мы рассмотрели несколько методов преобразования отметки времени Unix в формат даты и времени в SQL. В зависимости от используемой вами системы базы данных вы можете выбрать подходящий метод, соответствующий вашим потребностям. Независимо от того, используются ли встроенные функции, такие как DATEADD, DATEFROMPARTS, TO_TIMESTAMP, FROM_UNIXTIME, TIMESTAMPTZ, STRFTIME или TIMESTAMP_FORMAT, эти методы обеспечивают гибкость в обработке временных меток Unix и преобразовании их в удобочитаемые значения даты и времени.
Не забудьте учитывать конкретную систему базы данных, с которой вы работаете, и совместимость упомянутых функций. Используя эти методы, вы можете легко преобразовать временные метки Unix в дату и время, а также эффективно анализировать и составлять отчеты на основе временных меток в SQL.