6

バグなのか何なのかわかりませんが、Oracle で to_char 関数を使用して特定の方法で曜日をフォーマットしようとすると、SQL Plus で次のエラーが表示されます: ORA-01821: 日付形式が認識されません

これが問題を引き起こす行です

SELECT TO_CHAR(sysdate,'dsp') from dual;

つまり、d は「曜日」、sp はスペルです。木曜日なので、この行は 5 を出力するはずです。

この次の行が機能したため、奇妙です

SELECT TO_CHAR(sysdate,'ddsp') from dual;

dd は 'Day of the month' を表すため、SQL に加えて 29 を問題なく出力しました!!

この行が機能しない理由を教えてもらえますか?

ありがとう..

4

1 に答える 1

3

これを機能させる必要がある場合は、醜い回避策を次に示します。

SELECT to_char(to_date(to_char(SYSDATE,'d'),'j'),'jsp') FROM dual;

私にはバグのように見えます...

于 2011-09-29T18:16:02.520 に答える