私はそのような種類のxmlファイルから日付の文字列を持っています: '2010-09-09T22:33:44.OZ'
日付と時刻のみを抽出する必要があります。記号 T と .OZ (タイムゾーン) を無視したい。どのマスクを使用すればよいですか? 前もって感謝します
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
タイムゾーン情報が必要な場合:
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
ただしOZ
、認識されているタイムゾーンの略語ではないため、事前にそれを何かに変換する必要があります。
その部分を無視したいだけで修正された場合は、@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
無視したいが修正されていない場合は、最初に次のように削除する必要があります (ここでは簡潔にするためにバインド変数を使用します)。
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