Oracle: конвертировать дату и время в определенный формат

Добрый день всемогущий Stackru!

Я не слишком знаком с SQL в Oracle, но мне нужно взять значение даты / времени и преобразовать его в строку, соответствующую определенному формату для другого приложения. Я нашел много похожих сценариев, но те, которые смешаны с некоторой документацией Oracle, еще не дали мне того, что мне нужно.

Формат ввода выглядит следующим образом: 06.08.2014 15:05:21

Формат, который мне нужно ввести в другое приложение, выглядит следующим образом: ГГГГММДДччммссуу

uu - микросекунды (я полагаю, доли секунды в Oracle).

Я думал, что это сработает:

to_date(VP_ACTUAL_RPT_DETAILS.ETLLOADER_OUT,'YYYYMMDDHH24MISSFF') 

Я думаю, что это работает, только если формат ввода соответствует формату вывода.

Если вы можете оказать помощь, я был бы очень признателен!

4 ответа

Решение

Если вы конвертируете из типа DATE в формат вывода, используйте TO_CHAR функция:

TO_CHAR(VP_ACTUAL_RPT_DETAILS.ETLLOADER_OUT,'YYYYMMDDHH24MISSFF')

Если вы конвертируете из типа VARCHAR2, используйте обе функции:

TO_CHAR(TO_DATE(VP_ACTUAL_RPT_DETAILS.ETLLOADER_OUT, 'MM/DD/YYYY HH:MI:SS'),'YYYYMMDDHH24MISSFF')

TO_DATE - конвертирует из типа VARCHAR2 (формат ввода) в тип DATE; TO_CHAR - от типа DATE к типу VARCHAR2 (выходной формат)

Так как ваш формат ищет строковую переменную, я не уверен, будет ли она принимать to_date.

Мой совет - экспериментировать с сочетанием функций to_char() и to_date().

to_char(to_date(VP_ACTUAL_RPT_DETAILS.ETLLOADER_OUT,'DD/MM/YYYY HH:MM:SS),'YYYYMMDDHH24MISSFF')

или же

to_date(to_char(VP_ACTUAL_RPT_DETAILS.ETLLOADER_OUT,'YYYYMMDDHH24MISSFF'),''DD/MM/YYYY HH:MM:SS')

это функции, которые я бы попробовал. Oracle может быть очень разборчивым в отношении входных данных с датами / строками, я также относительно новичок в Oracle, и времена / даты часто расстраивают

Вам нужна функция Oracle - TO_CHAR.

to_char (VP_ACTUAL_RPT_DETAILS.ETLLOADER_OUT, 'YYYYMMDDHH24MISSFF')

Выберите to_char(systimestamp,'yyyymmddhh24missFF') из двойного;

Другие вопросы по тегам