Wenn die Zeitzone Informationen benötigt:
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
keine Zeitzone Abkürzung anerkannt ist, so würden Sie eine Pre-Umwandlung, dass etwas tun müssen, dass 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 werden Sie brauchen
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
möglich Duplikat [Konvertieren eines XSD Datum xs: datetime zu einer Oracle-Datum] zuerst, so etwas wie (unter Verwendung einer Bindevariable hier der Kürze halber) schneiden sie es aus (http://stackoverflow.com/questions/3549068/converting-a-xsd-Datum-xsdatetime-to-a-oracle-date) – APC