Преобразовать вычисляемый столбец в постоянный - PullRequest
0 голосов
/ 25 сентября 2019

У меня проблема, я пытаюсь изменить некоторые таблицы в моей базе данных, добавив столбец datetimeoffset с UTC DateTime Zone, этот столбец должен быть рассчитан в зависимости от вставленной даты и часа.

Это мой код прямо сейчас:

DATETIMEFROMPARTS(YEAR(FECHA), MONTH(FECHA), DAY(FECHA), HORA , 0, 0, 0)  
AT TIME ZONE 'Central America Standard Time' AT TIME ZONE 'UTC' ) PERSISTED

Я получаю следующую ошибку:

Невозможно сохранить вычисленный столбец, поскольку столбец не является-детерминированный.

1 Ответ

3 голосов
/ 25 сентября 2019

AT TIME ZONE является недетерминированным .

Поскольку некоторая информация (например, правила часового пояса) хранится вне SQL Server и подвержена случайным изменениям, функция AT TIME ZONE классифицируется как недетерминированная.

Поскольку часовой пояс зависит от операционной системы, если кто-то меняет часовой пояс, то ваши данные выходят из строя.

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