プログラム学習室 http://studyhallweb.com/

DB2/400 SQL 日付の計算

1日後を求める


SELECT DATE(DAYS(HIZUKE) + DAYS('0001-01-01'))
FROM T1

HIZUKEは日付が入っている
DAYS()で整数表現に変換してから計算し、DATE()で日付型に戻す

1ヶ月後を求める


SELECT DATE(DAYS(HIZUKE) + DAYS('0001-02-01') - 1)
FROM T1

単純に'0001-02-01'を足すと1ヶ月と1日後になってしまう
'0001-02-00'は日付として正しくないので使えない
'0001-02-01'を足して1引くことにより1ヵ月後が求められる

1年後を求める


SELECT DATE(DAYS(HIZUKE) + DAYS('0002-01-01'))
FROM T1

年の計算時は1日を引く必要が無い