Anda tidak bisa. Ini sesederhana itu. Hari libur nasional bervariasi di seluruh dunia, bervariasi dari tahun ke tahun dan hari libur tambahan dapat ditambahkan atau dihilangkan kapan saja. Selain itu, beberapa yurisdiksi memberlakukan hari libur nasional yang jatuh pada akhir pekan dan menetapkannya pada minggu berikutnya; yang lain tidak.
Anda harus membuat tabel kalender dan menandai hari libur nasional/akhir pekan, dll.
Misalnya
create table calender
( day date
, weekend varchar2(1)
, holiday varchar2(1)
);
Kemudian masukkan beberapa data ke dalamnya...
insert into calender (day, weekend)
select trunc(sysdate + level)
, case when to_date(sysdate + level,'fmDAY') in ('SATURDAY','SUNDAY')
then 'Y' else 'N' end
from dual
connect by level <= 365
Terakhir, perbarui secara manual apa yang Anda anggap sebagai hari libur nasional di sana.
Anda kemudian dapat memilih hari kerja, tergantung pada bagaimana Anda mengisinya dengan sesuatu seperti ini:
select count(*)
from calender
where day between :startdate and :enddate
and weekend = 'N'
and holiday = 'N'