Можно ли преобразовать формат даты из зашифрованной строки даты в MSSQL - PullRequest
1 голос
/ 30 апреля 2020

Я хочу вернуть дату из таблицы.

Значение формата startDate: 1588244766682

Когда я выполняю запрос:

выберите CAST (startDate AS DATE), CAST (GETDATE () AS DATE) из arch_report;

Я получил ошибку: явное преобразование из числового типа данных c в дату недопустимо.

Возможно ли преобразовать этот тип даты в тип даты? Я могу пропустить некоторые части. Любая помощь будет оценена.

Заранее спасибо

1 Ответ

1 голос
/ 30 апреля 2020

Вы можете использовать DATEADD для вычисления даты.

Мы разделим на 1000 (поскольку ваше значение startDate указано в миллисекундах), чтобы получить количество секунд с момента unix эпоха.

declare @startTime bigint;
set @startTime = 1588244766682;
SELECT DATEADD(second, @startTime/1000, '1970-01-01') AS start_time; 
...