Это то, что вам нужно?
Кажется, что время вашей эпохи, к сожалению, хранится в виде строкового значения. Использование TRY_CAST
позволит вам преобразовать значения, которые можно преобразовать из строк, в целое число, которое вы можете добавить, используя DATEADD
.
Если у вас есть опция, было бы предпочтительнее взять это преобразованное значение и сохраните его в новом столбце с правильным типом данных DATE
или DATETIME
, чтобы в будущем вы больше не столкнулись со строками.
UPDATE A
SET A.departure = DATEADD(SECOND, TRY_CAST(departure AS bigint), '1970-01-01 00:00:00')
FROM TABLE A
На самом деле, после ввода этого, Обновление этой исходной колонки не очень хорошая идея. Для значений, где departure
не может быть преобразовано, функция вернет NULL
, и вы потеряете данные. Вам нужно будет сделать некоторые проверки здесь, чтобы избежать проблем.
Как минимум:
SELECT
*
FROM TABLE
WHERE TRY_CAST(departure AS bigint) IS NULL;