sql >> データベース >  >> RDS >> Oracle

2つの日付の間の営業日または営業時間を取得する方法

    できません。それはそれと同じくらい簡単です。国民の祝日は世界中で異なり、年ごとに異なり、追加の祝日はいつでも追加または削除できます。さらに、一部の管轄区域では、週末に当たる国民の祝日が繰り越され、翌週に祝日があります。他の人はしません。

    カレンダーテーブルを作成し、これに国旗を付ける必要があります。

    たとえば

    create table calender
      ( day date
      , weekend varchar2(1)
      , holiday varchar2(1)
        );
    

    次に、データを挿入します...

     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
    

    最後に、そこで国民の祝日として数えるものを手動で更新します。

    次に、次のような入力方法に応じて、営業日を選択できます。

    select count(*)
      from calender
     where day between :startdate and :enddate
       and weekend = 'N'
       and holiday = 'N'
    


    1. MicrosoftAccessからのSalesforceの一括挿入

    2. 2022年に準備しなければならないMySQLインタビューの質問トップ50

    3. AmazonRDSでmysqladminflush-hostsを実行する方法

    4. PostgreSQL-HTMLエンティティを置き換えます