2009-05-05 3 views
3

J'ai déjà reçu une aide brillante et j'espère que vous pourrez me sortir d'un trou à nouveau.Oracle Formatage de la date "2009-02-13T11: 46: 40 + 00: 00"

J'ai une date revenant d'un service Web dans ce format: 2009-02-13T11: 46: 40 + 00: 00

qui me ressemble format standard UTC.

J'ai besoin de l'insérer dans une base de données Oracle, donc j'utilise to_date() sur l'insert. Le problème est, je ne peux pas obtenir une chaîne de mise en forme correspondante pour cela et continuer à obtenir "ORA-01861: littéral ne correspond pas à la chaîne de format" des erreurs. Je sais que c'est un problème assez trivial mais pour une raison quelconque, je n'arrive pas à accepter la bonne chaîne de format. Toute aide appréciée.

Merci :)

Gareth

+0

Quel masque fournissez-vous à TO_DATE()? – cagcowboy

Répondre

4
SELECT CAST(TO_TIMESTAMP_TZ(REPLACE('2009-02-13T11:46:40+00:00', 'T', ''), 'YYYY-MM-DD HH:MI:SS TZH:TZM') AS DATE) 
FROM dual 
7

Vous pouvez directement convertir en un type de TIMESTAMP_WITH_TIME_ZONE.

select 
    to_timestamp_tz('2009-02-13T11:46:40+00:00','YYYY-MM-DD"T"HH24:MI:SSTZH:TZM') 
from 
dual 

TO_TIMESTAMP_TZ('2009-02-13T11:46:40+00:00','YYYY-MM-DD"T"HH24:MI:SSTZH:TZM 
--------------------------------------------------------------------------- 
13-FEB-09 11.46.40.000000000 AM +00:00 

(je suppose que la chaîne d'entrée utilise une horloge de 24 heures car il n'y a pas d'indicateur AM/PM.)

Si vous voulez convertir en simple date, vous pouvez, mais il perdra l'information de fuseau horaire.

+0

Dave, ce sont des acclamations brillantes - Je ne peux pas utiliser un type de données TIMESTAMP_WITH_TIME_ZONE bien que ce ne soit pas ma base de données. Cependant, ce serait la solution préférée. À la votre – Gareth

1

Pour importer la date au format spécifié, vous pouvez définir nls_date_format.

Exemple:

alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS' 

De cette façon, vos instructions SQL peuvent être plus courtes (pas moulages). Pour un masque différent, regardez Datetime Format Models