تا قبل از نسخه 23c نمی توانستیم از توابع تجمیعی نظیر SUM، AVG، MIN و MAX و … بر روی داده های با دیتاتایپ INTERVAL استفاده کنیم و در صورت استفاده، به خطای ORA-00932 مواجه می شدیم. برای مثال می خواهیم بررسی کنیم اجرای جاب PURGE_LOG در یک ماه گذشته به صورت میانگین چقدر زمان برده است:
SQL> select column_name,data_type from dba_tab_cols where table_name='DBA_SCHEDULER_JOB_RUN_DETAILS' and column_name='RUN_DURATION'; COLUMN_NAME DATA_TYPE --------------- ---------------------------------------- RUN_DURATION INTERVAL DAY(3) TO SECOND(0)
SQL> select AVG(RUN_DURATION) from DBA_SCHEDULER_JOB_RUN_DETAILS where job_name='PURGE_LOG'; 'ORA-00932: inconsistent datatypes: expected NUMBER got INTERVAL DAY TO SECOND'
در اوراکل نسخه 23c این امکان وجود دارد تا از توابع تجمیعی بر روی نوع داده INTERVAL استفاده کنیم:
SQL> select AVG(RUN_DURATION) from DBA_SCHEDULER_JOB_RUN_DETAILS where job_name='PURGE_LOG'; AVG(RUN_DURATION) ------------------------------------------------ +000000000 00:00:01.419354839