データをTIMESTAMP
含むフィールドがあります:13-09-16 23:56:00.000000000 AMERICA/NEW_YORK
このデータを Java から Calendar オブジェクトにソースしており、年は として表され0013
ます。to_char(order_date,'YYYY-MM-DD')
SQL 開発者もasで実行した場合の日付を表します0013
。
なんで?
'RR' または 'RRRR' - 年形式
'RR' 2 桁のみを使用して、20 世紀の日付を 21 世紀に格納できます。関連項目: 『Oracle Database SQLリファレンス』のRR日時フォーマット要素に関する追加説明
'RRRR' 丸年。4 桁または 2 桁の入力を受け入れます。2 桁の場合、RR と同じリターンを提供します。この機能が必要ない場合は、4 桁の年を入力してください。
Oracle® データベース SQL クイック リファレンス 10g リリース 2 (10.2) B14195-01
SQL が を返す場合to_char(order_date,'YYYY-MM-DD')
、0013-nn-nn
これはその年が実際には西暦 13 年であることを意味するため、正しく表示されてい0013
ます。
パターンを変更する必要があると思います:
to_char(order_date,'YY-MM-DD')
YYYY は 4 年の数字です
YY は年を 2 桁で表す必要があります (2013 ではなく 1913 と表示される可能性があります)。