Так как это кажется скорее вопросом синтаксиса, мой поиск не дал никаких полезных результатов.
Я пытаюсь сделать запрос, который получает европейские данные из американской базы данных, используя время по Гринвичу. Мне нужно узнать европейское время, но не могу заставить его работать правильно.
Давайте скажем "myDateField" = '01 -01-2010 '
SELECT TO_CHAR(myDateField + (60 / 1440), 'Mon" "DD", "YYYY')
Производит именно то, что я хочу, но мне нужно, чтобы остаться на свидание.
Производит: ' 01.01.2010 '
SELECT TO_DATE(TO_CHAR(myDateField + (60 / 1440)), 'Mon" "DD", "YYYY')
Появляется ошибка "Недопустимый месяц".
Производит: Ошибка
SELECT TO_DATE(TO_CHAR(myDateField + (60 / 1440), 'Mon" "DD", "YYYY'), 'Mon" "DD", "YYYY')
Работает, но форматирование потеряно.
Производит: ' 01-01-2010 '
Как я могу отформатировать это так, чтобы я мог получить результат, который дает первое утверждение, но также сохранить его как дату? Или вообще есть лучший метод?
EDIT:
Так же, как пример этого конкретного запроса, работающего при других обстоятельствах ... Это тот же запрос, но вместо преобразования в европейское время он конвертируется в другой часовой пояс в Северной Америке.
SELECT TO_DATE(TO_CHAR(NEW_TIME(myDateField, 'GMT', 'MDT')), 'Mon" "DD", "YYYY')
Производит именно то, что я хочу, сохраняя данные как дату.
Производит: ' 01.01.2010 '
В итоге:
Есть ли способ взять «myDateField + (60/1440)» или использовать ключевое слово «FROM_TZ», и заставить результат использовать формат «Mon» «DD», «YYYY», сохраняя при этом его тип даты