funzione di to_date Oracle. Maschera necessario
Domanda
Ho serie di date dal file XML di questo tipo: '2010-09-09T22: 33: 44.OZ'
Ho bisogno di estrarre solo la data e l'ora. Voglio ignorare il simbolo T e .OZ (fuso orario). Che mascherano devo usare? Grazie in anticipo
Soluzione
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
Altri suggerimenti
Se le informazioni sono necessarie fuso orario:
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
Ma OZ
non è un'abbreviazione fuso orario riconosciuta, così avresti bisogno di fare un po 'di pre-conversione di quella a qualcosa che è.
Se si desidera ignorare solo quella parte, e che è fisso, si può fare quello che ha detto @Jeffrey Kemp:
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
Se si vuole ignorarlo, ma non è fisso allora avrete bisogno di tagliare fuori prima, qualcosa di simile (utilizzando una variabile bind qui per brevità):
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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow