У меня есть таблица с столбцом Oracle TIMESTAMP (6) с временной зоной. Таблица содержит записи разных часовых поясов. Я хотел бы обновить все записи таблицы, чтобы быть UTC. Рекомендуемый способ сделать это в запросе UPDATE? Я рассмотрел методы Oracle to_date(), которые предназначены для преобразования строки в дату, и from_tz(), которая преобразует время в определенное время с часовым поясом.Обновление значений часовых поясов таблицы Oracle
Похоже, мне нужен способ запустить запрос и вывести часовой пояс из поля, а затем как-то обновить поле, чтобы поместить его в UTC. Я не хочу, чтобы просто изменить часовой пояс обозначение, я хочу, чтобы компенсировать время суток так
21-JAN-10 03.28.38.713000000 PM -05:00
станет
21-JAN-10 08.28.38.713000000 PM UTC
.
CREATE TABLE "MyDb"."Books"
(
"GUID" RAW(32) DEFAULT SYS_GUID(),
"DATE_CREATED" TIMESTAMP (6) WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
);
Поскольку я разработчик, который использует таблицу, я полностью согласен с вами. «Книги» - это просто пример. Как всегда, ваш опыт Oracle очень ценится. Простой запрос - работает хорошо. –
Возможно ли выборочно выполнять обновление, только обновлять даты, которые не указаны в UTC? Есть триггеры, которые срабатывают при обновлении строки, и я хотел бы свести к минимуму ненужные обновления строк. –
Я считаю, что могу использовать to_char (DATE_CREATED, 'TZH') в предложении WHERE. –