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

すべての日曜日、月曜日... SQL Server で 2 日間の土曜日を計算します。

    あなたのクエリは正しい結果を返すと思いますが、少し単純化できます.

    ただし、SET DATEFIRST に依存しています。

    datepart(dw,[Date]) = 1 SET DATEFIRST の場合、月曜日の数を数えます は 1 です。

    これを試してください:

    set datefirst 7 -- Sunday
    select datepart(dw, '20111227')
    set datefirst 1 -- Monday
    select datepart(dw, '20111227')
    

    結果:

    -----------
    3
    
    -----------
    2
    

    更新: 同じことを行う別のクエリ。

    select count(*) as Daycount
    from master..spt_values as Number
    where Number.type = 'P' and
          dateadd(day, Number.number, @StartDate) <= @EndDate and
          datepart(dw, dateadd(day, Number.number, @StartDate)) = 1
    


    1. PHP非同期mysql-query

    2. php/mysqlを使用してGoogleマップにポリラインを動的に描画する

    3. 接続を使用してmysqlerdを生成する

    4. Tsrange-2つの範囲の差を計算する