Конвертировать VARCHAR2 в TIMESTAMP в Oracle - PullRequest
7 голосов
/ 30 сентября 2011

У меня есть значение VARCHAR2 в формате '14 -SEP-11 12.33.48.537150 AM', и мне нужно преобразовать его в TIMESTAMP как есть.Это как,

SELECT TO_DATE('14-SEP-11 12.33.48.537150 AM', '<format_string>') FROM DUAL;

Я хочу, чтобы возвращение из вышеупомянутого запроса было '14 -SEP-11 12.33.48.537150 AM' в формате данных TIMESTAMP.

Что должно быть 'format_string 'для этого.

Пожалуйста, помогите, так как я пробовал много вещей, но ничего не работает ..: (

Я использую Oracle 11gR2.

Спасибо.

Ответы [ 2 ]

11 голосов
/ 30 сентября 2011

DATE и TIMESTAMP - это два разных типа данных.Поэтому вам нужно использовать правильную функцию преобразования для каждого, которая в вашем случае будет TO_TIMESTAMP () .

SELECT TO_TIMESTAMP('14-SEP-11 12.33.48.537150 AM', 'DD-MON-RR HH:MI:SS.FF AM') 
FROM DUAL;
1 голос
/ 30 сентября 2011
select from_tz(to_timestamp('14-SEP-11 12.33.48.537150 PM', 'DD-Mon-RR HH.MI.SS.FF AM'), 'EUROPE/LONDON') from dual
...