как преобразовать строковую дату в формат даты в oracle10g - PullRequest
16 голосов
/ 03 декабря 2011

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

Ответы [ 2 ]

29 голосов
/ 06 декабря 2011

Вы можете преобразовать строку в DATE, используя функцию 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;
10 голосов
/ 03 декабря 2011

Вам необходимо использовать функцию TO_DATE.

SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...