Как я могу изменить часовой пояс столбца DateCreated? - PullRequest
1 голос
/ 02 сентября 2010

База данных находится в SQL Server 2008 ...

У меня есть БД, которая находится в другой стране, я хочу, чтобы таблицы DateCreated и DateUpdated имели дату и время, например, Канада / ON / время Торонтозона вместо часового пояса США, где расположена БД.

DateCreated имеет значение по умолчанию GetDate (), а DateUpdated имеет следующий триггер:

CREATE TRIGGER trigger_name ON table_name
AFTER UPDATE
AS
BEGIN
    UPDATE table_name
    SET dateModified = GETDATE()
    FROM table_name cm JOIN Inserted i 
    ON cm.companyid = i.companyid;
END
GO

1 Ответ

1 голос
/ 02 сентября 2010

Чтобы преобразовать datetime из одного часового пояса в другой, либо прибавьте (часовой пояс места назначения находится к востоку от текущего часового пояса), либо вычтите (на запад) число часовых разниц между двумя зонами. Например, если база данных находится в Калифорнии (по тихоокеанскому времени), добавьте три часа, чтобы получить время Торонто (по восточному времени). Нет необходимости настраивать на летнее время, потому что оба часовых пояса соблюдают его.

Вы должны рассмотреть, как уже упоминалось, преобразование времени в UTC и настроить ваши приложения для преобразования времени в местное время. Тогда ваша база данных будет иметь правильное время, независимо от того, где оно находится.

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