Oracle TIMESTAMP с путаницей типа данных часового пояса - PullRequest
3 голосов
/ 19 мая 2010

Когда вы будете использовать TIMESTAMP с часовым поясом, а не с TIMESTAMP с местным часовым поясом?

Когда данные хранятся в столбце типа данных TIMESTAMP w / local tz, данные нормализуются к часовому поясу базы данных, и смещение часового пояса не сохраняется как часть данных столбца. Когда пользователи получают данные, Oracle возвращает их в часовом поясе локального сеанса пользователя.

Разве это не намного полезнее? Я не могу придумать причину, по которой я хотел бы использовать TIMESTAMP с часовым поясом и получить обратно слюну с смещением UTC.

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Иногда может быть важно знать, в какое время произошло событие в контексте его местного часового пояса, а не в какое эквивалентное время для человека, который его запрашивает.

Гипотетический пример: медицинское приложение записывает характер сна человека. Вы, вероятно, будете более заинтересованы в том, во сколько они ложились спать, в их часовом поясе , а не в какое время они ложились спать из вашего собственного местного часового пояса; Кроме того, вы также можете определить, какой у них был часовой пояс в то время, чтобы вы могли определить, путешествовали ли они между часовыми поясами в то время и, возможно, страдали от смены часовых поясов.

1 голос
/ 11 апреля 2011

Нормализация по базе данных может быть не всегда точной из-за: 1. При нормализации TIMESTAMP с местным часовым поясом база данных зависит от часового пояса, предоставленного клиентом (то есть часового пояса сеанса). Часовой пояс сеанса может быть неточным по ряду причин, например, системный часовой пояс не установлен и т. Д. 2. Если клиент предоставил имя часового пояса (вместо смещения часового пояса), базе данных необходимо получить соответствующее смещение часового пояса. Это происходит автоматически с использованием системных таблиц. Теперь подумайте о DST. В случае частых изменений дат перехода на летнее время данные могут быть неточными в системных таблицах базы данных. Вам необходимо отслеживать такие изменения и немедленно получать / применять исправления базы данных (что не всегда возможно), поэтому база данных может обновлять свои системные таблицы, чтобы отразить смещение часового пояса.

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