Я должен добавить значение по умолчанию в столбец datetime с временем UTC с помощью Timezone, сейчас я использую GETUTCDATE() в ограничении по умолчанию, но он не добавляет информацию о часовом поясе в столбец.
GETUTCDATE()
Пожалуйста, помогите мне.
Тип, который включает информацию о часовом поясе (в частности, смещение), равен datetimeoffset . GETUTCDATE возвращает старую DATETIME, у которой нет указания часового пояса, даже нет индикатора Local против UTC.
DATETIME
Если вас интересуют часовые пояса и смещения, используйте столбец datetimeoffset и ` SYSDATETIMEOFFSET по умолчанию
datetimeoffset
Вам нужен тип данных DATETIMEOFFSET и функция SWITCHOFFSET
DATETIMEOFFSET
SWITCHOFFSET
DECLARE @t TABLE ( id INT, dt DATETIMEOFFSET DEFAULT (SWITCHOFFSET(SYSDATETIMEOFFSET(),'+00:00')) ); INSERT @t(id) VALUES(1); SELECT id, dt, SYSDATETIMEOFFSET() FROM @t;
С 2016 года вы можете использовать ЗОНУ ВРЕМЕНИ https://docs.microsoft.com/en-ru/sql/t-sql/queries/at-time-zone-transact-sql?view=sql-server-2017