2011-09-30 14 views
6

Mam wartość VARCHAR2 w formacie '14 -SEP-11 12.33.48.537150 AM 'i muszę przekonwertować to na TIMESTAMP, jak jest. To jest jak,Konwertuj VARCHAR2 na TIMESTAMP w Oracle

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

chcę zwrot z powyższego zapytania być '14 -SEP-11 12.33.48.537150 AM”w formacie danych datownik.

Jaki powinien być "format_string" dla tego.

Proszę o pomoc ponieważ próbowałem wielu rzeczy, ale żaden nie działa .. :(

Używam Oracle 11gR2.

Dzięki.

Odpowiedz

9

datą i godziną są dwa różne typy danych. Więc trzeba używać odpowiedniego funkcję konwersji dla każdego, który w danym przypadku byłby TO_TIMESTAMP().

SELECT TO_TIMESTAMP('14-SEP-11 12.33.48.537150 AM', 'DD-MON-RR HH:MI:SS.FF AM') 
FROM DUAL; 
+1

Jeśli określimy HH24, spowoduje to błąd. Musi to być HH, ponieważ potrzebuję go jako AM/PM. W każdym razie dzięki temu zadziałało z HH. –

+0

@BathiyaPriyadarshana - oops, siła przyzwyczajenia: zawsze pracuję z zegarem dwudziestoczterogodzinnym. – APC

1
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 
Powiązane problemy