2015-03-25 2 views
1

Я пытаюсь преобразовать дату из ГГГГММДДА к DD-MON-YYYY в Oracle, но to_char или to_Date не работает. Вы могли бы посоветовать?как конвертировать YYYYMMDD в DD-Mon-YYYY в oracle?

select to_date(20150324,'DD-Mon-YY') from dual; select to_char(20150324,'DD-Mon-YY') from dual;

я получаю сообщение об ошибке, говорящее: - ORA-01861: literal does not match format string

+1

["TO_DATE преобразует [символы \] .. в значение типа данных DATE."] (Http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions183.htm) - посмотрите, что функция делает и как используются параметры для стартеров. – user2864740

+0

Возможный дубликат [изменить формат даты dd-MMM-yy в формате yyyy-MM-dd в oracle] (http://stackoverflow.com/questions/28298838/change-dd-mmm-yy-date-format-to- yyyy-mm-dd-format-in-oracle) –

ответ

3

Используйте это сочетание to_char и to_date:

select to_char (to_date('20150324','YYYYMMDD'), 'DD-Mon-YY') from dual; 

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

Проверить this Fiddle.

+1

Большое спасибо. Это сработало. –

+0

Btw i did put '''' но получил ту же ошибку. :) –

+0

@Trinimon, ошибка не из-за недостающих котировок, хотя это наверняка будет ошибкой. Но опубликованная ошибка связана с несоответствием в маске формата. –

Смежные вопросы