Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Работа с датой  [new]
quelgun
Member

Откуда:
Сообщений: 10
Здравствуйте.

Есть таблица у которой есть поле типа date.
Мы знаем, что значения дат в этом поле указаны по Гринвичу.
Теперь два вопроса:
- Можно ли и как при выборке перевести даты в временную зону(часовой пояс)?
- Если можно, то будут ли учитываться конкретные значения дат и значение временной зоны на момент даты (будет ли учитываться тот факт, что у нас часовые пояса меняются каждые пол года)?

Спасибо.
22 апр 15, 11:24    [17547635]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датой  [new]
-2-
Member

Откуда:
Сообщений: 15330
quelgun
- Можно ли и как при выборке перевести даты в временную зону(часовой пояс)?
операторы работы с датой-временем описаны в sql reference.
quelgun
(будет ли учитываться тот факт, что у нас часовые пояса меняются каждые пол года)?
зависит от выбранных методов и патченности бд. Но в любом случае для времени без таймзоны останется коллизия перевода времени назад.
22 апр 15, 11:51    [17547745]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датой  [new]
Anatoly B
Member

Откуда:
Сообщений: 178
quelgun,
А если как-то так?:
with qq as ( select to_date('01.01.2015','dd.mm.yyyy') as qq from dual)
select 
          cast(to_timestamp_TZ(to_char(qq,'dd.mm.yyyy hh24:mi:ss')||' 00:00', 'dd.mm.yyyy hh24:mi:ss TZH:TZM') at time zone 'Europe/Moscow' as date),
          cast(from_tz( to_timestamp(to_char(qq,'dd.mm.yyyy hh24:mi:ss'), 'dd.mm.yyyy hh24:mi:ss'), 'UTC') at time zone 'Europe/Moscow' as date)
from qq
22 апр 15, 12:34    [17548072]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датой  [new]
stax..
Guest
quelgun
Здравствуйте.

Есть таблица у которой есть поле типа date.
Мы знаем, что значения дат в этом поле указаны по Гринвичу.
Теперь два вопроса:
- Можно ли и как при выборке перевести даты в временную зону(часовой пояс)?
- Если можно, то будут ли учитываться конкретные значения дат и значение временной зоны на момент даты (будет ли учитываться тот факт, что у нас часовые пояса меняются каждые пол года)?

Спасибо.


допустим у Вас в базе две даты (UTC)
01.01.2014 12:00:00 dat1 и 01.06.2014 12:00:00 dat2

Вы выполняете select dat1,dat2 from t
01.01.2015 (зимнее время)
запрос1
select dat1,dat2 from t

и напр сегодня (летнее время)
запрос2
select dat1,dat2 from t

что в результате надо/ожидаете получить?

.....
stax
22 апр 15, 14:31    [17548975]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить