少し扱いにくいですが、このようなことができます。DB2 には、ストアド プロシージャの外部で変数を宣言するための適切なメカニズムがありません。LAST_DAY
便宜上/参照用に、ビットも追加しました。
WITH
THIS_MONTH(FIRST_DAY, LAST_DAY) AS (
SELECT TIMESTAMP_ISO(
CURRENT_DATE - (DAY(CURRENT_DATE) - 1) DAYS
),
TIMESTAMP_ISO(
CURRENT_DATE - (DAY(CURRENT_DATE) - 1) DAYS
) + 1 MONTH - 1 MICROSECOND
FROM SYSIBM.SYSDUMMY1
),
SIX_MONTHS_AGO(FIRST_DAY, LAST_DAY) AS (
SELECT FIRST_DAY - 6 MONTHS,
(FIRST_DAY - 6 MONTHS) + 1 MONTH - 1 MICROSECOND
FROM THIS_MONTH
)
SELECT *
FROM YOUR_TABLE
WHERE UPDATE_TIMESTAMP BETWEEN
(SELECT FIRST_DAY FROM SIX_MONTHS_AGO)
AND
(SELECT FIRST_DAY FROM THIS_MONTH)