SSIS: конвертировать столбец эпохи в дату - PullRequest
0 голосов
/ 15 сентября 2018

Я получил столбец с метками времени эпохи 1970-01-01 гг. В виде числового типа данных в столбце с именем «start_time» (имя содержит «). Я хотел бы создать новый столбец с типом данных DT_DBTIMESTAMP. I 'В настоящее время я создал преобразование производного столбца, в котором я настроил создание нового столбца со следующим выражением:

DATEADD(s,"start_time",'1970/01/01') 

Я также пробовал это:

DATEADD("s",(DT_NUMERIC, 18, 18)"start_time",(DT_DBTIMESTAMP)"1970-01-01 00:00:00")

Второйодин говорит мне об ошибке, что тип данных DT_WSTR не поддерживается для типа даты, но я не могу понять, откуда DT_WSTR, поскольку «start_time» является числовым.

Оба теста дали мне большие строки сообщений об ошибках.

1 Ответ

0 голосов
/ 15 сентября 2018

Это выражение работает:

DATEADD(second, start_time, '1970-01-01')

Более полный код:

select start_time, DATEADD(second, start_time, '1970-01-01')
from (select cast(1537009955 as decimal(18, 0)) as start_time) x;

Обратите внимание, что десятичное число равно decimal(18, 0), а не decimal(18, 18).Последний будет числом от 0 до 1.

Вот это Rextester .

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