Пакетное преобразование эпохи в дату и время в TQL-запросе - PullRequest
0 голосов
/ 25 октября 2019

Преобразование времени эпохи в формат даты и времени SQL. Я пытаюсь преобразовать 35 000 записей, полученных из другой таблицы (другой БД) с временным шагом эпохи, в новую таблицу с форматом даты-времени SQL. Кроме того, мне нужно будет обновлять его ежедневно, чтобы одноразовое преобразование было хорошим, но я также открыт для других предложений.

Я никогда не работал с эпохой, и я не уверен, как это сделать.

Также позже я хочу использовать его в SSRS с правильной датой и временем, поэтому я не уверен, стоит ли преобразовывать его перед переносом в новую таблицу или делать это в SSRS?

Есть идеи?

1 Ответ

1 голос
/ 25 октября 2019

Предполагая, что ваша временная метка находится в секундах :

DATEADD(SECOND, epoch_col, '19700101')

Это добавит секунды эпохи к началу ' времени эпохи ' (01-01-1970 00:00:00) и даст вам DATETIME.

Пример с выводом:

SELECT DATEADD(SECOND, 1571994774, '19700101')

2019-10-25 09:12:54.000

Если у вас есть отметка времени эпохи в миллисекундах просто используйте этот вариант:

DATEADD(MILLISECOND, epoch_col, '19700101')

С точки зрения вашего другого вопроса о том, когда преобразовать значение;Я считаю, что было бы предпочтительно хранить значение в столбце DATETIME в точке вставки, а не сохранять значение эпохи и преобразовывать его при использовании.

Это всего лишь мнение, а не рекомендация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...