1

私は{?EndDate} - INTERVAL '1' YEARしばらくの間、のような構文を使用してきましたが、最終的にはヒットする問題があることを知っていたので、それをヒットしました。やってみましたがDATE '2010-12-31' - INTERVAL '6' MONTH、6月31日がないので窒息しました。これをコーディングするための最も効率的で一貫性のある方法は何ですか?この方法でそれを行うことを決定した人を追跡することはより満足のいくものですが、それは非現実的です。:-)

4

1 に答える 1

3

一貫した方法があるかどうかはわかりません。それは確かに誰かが6か月だと思うかどうかに依存するからです。それでも、私見では、それがadd_months月を減算または加算するための標準的な方法(少なくともOracleでは)であると想定するのは安全です。

select add_months(DATE '2010-12-31',-6)  from dual;

この式は、2010年6月30日(その月の最後の日(12月の31日))を返します。

于 2011-01-20T19:50:43.993 に答える