ここに私が使用しているクエリがあります
select * from (
select table_name, to_number(to_char(trunc(to_date(substr(table_name,instr(table_name,'_',-1,2)+1,8),'yyyymmdd')),'J')) as t_date, to_number(to_char(trunc(sysdate),'J')) as s_date
from user_tables
where table_name like 'WORLD_RI%' and table_name not like 'WORLD_RI_ERROR%' )
where t_date < s_date;
私は得る
ORA-01841: (完全な) 年は -4713 から +9999 の間である必要があり、0 であってはなりません
最後の where 句 ( where t_date < s_date
) を含めるとエラーが発生します。また、参考までに、table_name は通常WORLD_RI_1234_20120301_1
.
任意のヘルプや提案をいただければ幸いです。