あなたの質問は INTERVAL データ型に言及していますが、それがどこで起こっているのか、あなたの例からは明らかではありません。日付と間隔の算術演算は非常に単純です。
SQL> select d1
2 , d2
3 , case when d2 > d1 + to_dsinterval ('10 0:0:0')
4 then 'no'
5 else 'yes' end
6 from t34
7 /
D1 D2 CAS
--------- --------- ---
02-JUL-10 25-JUN-10 yes
02-JUL-10 24-AUG-10 no
02-JUL-10 26-MAY-10 yes
02-JUL-10 25-JUL-10 no
02-JUL-10 15-APR-09 yes
02-JUL-10 13-JUL-10 no
6 rows selected.
SQL>
両方の列が INTERVAL データ型の場合、算術演算は明らかに機能します。
SQL> select intvl1
2 , intvl2
3 , case when intvl2 > intvl1
4 then 'no'
5 else 'yes' end
6 from t34
7 /
INTVL1 INTVL2 CAS
-------------------- -------------------- ---
+10 00:00:00.000000 +07 00:00:00.000000 yes
+10 00:00:00.000000 -53 00:00:00.000000 yes
+10 00:00:00.000000 +37 00:00:00.000000 no
+10 00:00:00.000000 -23 00:00:00.000000 yes
+10 00:00:00.000000 +78 00:00:00.000000 no
+10 00:00:00.000000 -11 00:00:00.000000 yes
6 rows selected.
SQL>
2 つの日付と間隔の差を比較するのは簡単です...
SQL> select d1
2 , d2
3 , intvl1
4 , case when numtodsinterval(d1-d2, 'DAY') > intvl1
5 then 'no'
6 else 'yes' end
7 from t34
8 /
D1 D2 INTVL1 CAS
--------- --------- -------------------- ---
02-JUL-10 25-JUN-10 +10 00:00:00.000000 yes
02-JUL-10 24-AUG-10 +10 00:00:00.000000 yes
02-JUL-10 26-MAY-10 +10 00:00:00.000000 no
02-JUL-10 25-JUL-10 +10 00:00:00.000000 yes
02-JUL-10 15-APR-10 +10 00:00:00.000000 no
02-JUL-10 13-JUL-10 +10 00:00:00.000000 yes
6 rows selected.
SQL>
つまり、エラーを取得するために何をしているのかを理解するのは困難です。そのため、質問を編集して詳細を提供する必要があります。テーブルについて説明します。いくつかのサンプル データを提供します。また、エラー メッセージ全体をお知らせください。