При использовании SQL Server 2016 у меня есть столбец date_time
типа DATETIME
, который был вставлен с использованием местного часового пояса аппарата. Мне нужно преобразовать это значение в UTC.
Я пытался использовать
CONVERT(NVARCHAR(19), date_time AT TIME ZONE 'UTC', 127) + 'Z' AS Timestamp
но теперь я понимаю, что он автоматически предполагает, что date_time
уже в UTC, поэтому преобразование не производится. Я не использую DATEADD
, потому что он не учитывает DST.
Есть ли способ сообщить SQL Server, что дата и время находятся в местном часовом поясе аппарата, а затем использовать AT TIME ZONE для преобразования его в UTC?
Редактировать: это не дубликат, поскольку в комментарии в утвержденном ответе («Да, но предполагается, что время ввода UTC, что бессмысленно, если вы хотите преобразовать локальное время в UTC»), говорится о проблеме Я изложил в этом вопросе.