Frage

Ich habe Reihe von Datum aus XML-Datei dieser Art: '2010-09-09T22: 33: 44.OZ'

brauche ich nur Datum und Uhrzeit zu extrahieren. Ich möchte Symbol T und .OZ (Zeitzone) ignorieren. Welche Maske soll ich verwenden? Vielen Dank im Voraus

War es hilfreich?

Lösung

select TO_DATE('2010-09-09T22:33:44.OZ'
              ,'YYYY-MM-DD"T"HH24:MI:SS".OZ"')
from dual;

9/09/2010 10:33:44 PM

Andere Tipps

Wenn die Zeitzone Informationen benötigt werden:

select to_timestamp_tz('2010-09-09T22:33:44.GMT','YYYY-MM-DD"T"HH24:MI:SS.TZR')
from dual;

09-SEP-10 22.33.44.000000000 GMT

Aber OZ ist keine anerkannte Zeitzone Abkürzung, so dass Sie einige Pre-Umwandlung, dass etwas zu tun brauchen würde, das ist.

Wenn Sie nur wollen, dass ein Teil ignorieren, und es wird festgelegt, können Sie das tun, was @Jeffrey Kemp sagte:

select to_date('2010-09-09T22:33:44.OZ','YYYY-MM-DD"T"HH24:MI:SS."OZ"')
from dual;

09/09/2010 22:33:44 -- assuming your NLS_DATE_FORMAT is DD/MM/YYYY HH24:MI:SS

Wenn Sie es ignorieren wollen, aber es ist nicht festgelegt, dann müssen Sie es trimmen erste, so etwas wie (unter Verwendung einer Bindevariable hier der Kürze halber):

var input varchar2(32);
exec :input := '2010-09-09T22:33:44.OZ';
select to_date(substr(:input,1,instr(:input,'.') - 1),'YYYY-MM-DD"T"HH24:MI:SS')
from dual;

09/09/2010 22:33:44
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top