как преобразовать строку даты в формат даты в oracle10g

мое значение даты хранится как varchar2 и значение 15/August/2009,4:30 PM, Как преобразовать это в правильный формат даты, например DD-MM-YYYY.

2 ответов


вы можете преобразовать строку в дату с помощью функции TO_DATE, а затем переформатировать дату как другую строку с помощью TO_CHAR, т. е.:

SELECT TO_CHAR(
         TO_DATE('15/August/2009,4:30 PM'
                ,'DD/Month/YYYY,HH:MI AM')
       ,'DD-MM-YYYY')
FROM DUAL;

15-08-2009

например, если имя таблицы-MYTABLE, а столбец varchar2-MYDATESTRING:

SELECT TO_CHAR(
         TO_DATE(MYDATESTRING
                ,'DD/Month/YYYY,HH:MI AM')
       ,'DD-MM-YYYY')
FROM MYTABLE;

вам нужно использовать