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

SQLで2つの日付間の週末の数を取得

    このロジックをいくつかのエッジ ケースで試してみたところ、うまくいくようです。

    SELECT DATEDIFF(d, @dFrom, @dTo)/7+1
        + CASE WHEN DATEPART(dw,@dFrom) IN (1,7) THEN -1 ELSE 0 END
        + CASE WHEN DATEPART(dw,@dTo) IN (1,7) THEN -1 ELSE 0 END
    

    開始日または終了日が週末である場合の処理​​方法に応じて、CASE ステートメントを変更できます。私の場合、開始日または終了日が土曜日または日曜日の場合、週末は含めません。



    1. Doctrine 2 DQL CASE WHEN in Count

    2. 例を使用したOPENJSONの概要(SQL Server)

    3. Innodbページサイズ設定

    4. PostgreSQL:6つのそれほど簡単ではない部分