2

0 年より前の日付があります。それらを西暦の日付に変換し、さらに 1 年追加する必要があります。たとえば、 I have BC 16.2.2011and want AD 16.2.2012.

サード サイドの Java アプリケーションがあり、エラーが発生することがあります。日付が正しく保存されません。上記の例では、保存する必要があります16.2.2012が、代わりに、DB では-16.2.2011(Oracle にはゼロ年がないため、1 年小さくなります。これは重要です)。

これらの日付を変換するのは簡単ですが、問題は29.2.2012-29.2.2011. この日付の代わりに を保存しますが-1.3.2011、これは簡単には変換できません。

日付を正しく変換する方法はありますか? データベースのダンプデータから開始年から秒数を取得するようなものですか?

4

1 に答える 1

0

問題がある場合はお知らせください:

select to_date(to_char(your_bc_date_here,'dd.mm.YYYY'), 'dd.mm.YYYY') + 1 from dual;

年が負の可能性があるとは見なされないため、これは間違ったキャストです (正しい場合syyyy)

私は以下でテストしました:your_bc_date = to_date('BC 28.2.2011', 'BC dd.mm.yyyy')

于 2013-01-21T10:24:09.580 に答える