• 締切済み

PL/SQLで、期間計算

日付の計算で、 月を加えて日付を出すadd_monthsや 期間を出すmonths_betweenがありますが、 例えば、 期間が「2000/04/01~2001/02/15」 というものから 月数と日数を計算する方法というのは 何かありますでしょうか? (この例でいうと月数が10,日数が15(残り日数) という具合で答えが出せる計算) 月数はどうにか出せたとしても、 残りの日数をどう正確に出すかがわからなくて・・。 どなたか方法をご存知の方、教えて頂きたい です。宜しくお願いします。

みんなの回答

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.1

手抜きでに暗黙変換とデフォルトフォーマットを使用してますから、正しく書き換えてください。 PL/SQL にすると、もっとスマートになるでしょう。 SELECT TRUNC(MONTHS_BETWEEN('2001/02/15', '2000/04/01')) MONTHS, TO_DATE('2001/02/15') - ADD_MONTHS('2000/04/01', TRUNC(MONTHS_BETWEEN('2001/02/15', '2000/04/01'))) DAYS FROM DUAL

kei161220
質問者

お礼

助かりました。 VBみたいに細かい関数があるといいんですけど、 PL/SQLはそうもいかないみたいですね。。。 ご回答ありがとうございました。