質問

私はそのような種類の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

あなたがそれを無視したいが、それが修正されていない場合、あなたはそれを最初にトリミングする必要があります、(Brevityのためにここでバインド変数を使用してください):

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top