2015-10-22 16 views
5

私はいつもto_date関数の文字列と日付の形式が一致していると思っていました。なぜ以下の声明はうまく機能していますか?Oracle TO_DATE関数

select TO_DATE('20151014','yyyy-mm-dd') from dual; 

文字列を日付に変換する前に、oracleで特殊文字が無視されるようになりましたか?

これはOracle 11gにあります。

+0

「2015/10/14」も試してください。 – clq

+0

ええ、それも動作します..しかし、なぜ以下の声明は働いていますか?デュアルからTO_DATE( '2015/10 $ 14'、 'yyyy - % - mm-dd')を選択します。 – mahen

+0

Cool right :) .. – clq

答えて

5

私は、これは興味深い発見し、Googleに尋ねた、形式が一致しない場合、基本的にOracleが、それはそれを動作させるために最も難しいのですしようと言ってくれました:あなたが使用することができます

https://asktom.oracle.com/pls/apex/f?p=100:11:::NO:RP:P11_QUESTION_ID:9522299800346947976

http://www.oracledba.co.uk/tips/dates_8i.htm

それは正確に一致させるための 'FX' 形式の文字列:

http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements004.htm#r18c1-t65

http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements004.htm#SQLRF00216

あなたは毎日何か新しいことを学びます!これを聞いてくれてありがとう!

+0

非常に興味深い...私はいつも、Oracleは他のRDBMSと比較して日付の書式設定が非常に厳格だと考えました。私はあなたがボタンを押す方法を知っていなければならないと思う。 – Hambone

+0

同じです。とても興味深い。 –

+0

2015年10月14日に実際に日付形式が呼び出されたときに10-14-2015のようなことをしたときにも気づいたことがあります。これは知っておくと良いことです。 – McGlothlin