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

TSQLの日付範囲内の平日の数

    create function dbo.f_countweekdays
    (
      @DOW int, 
      @StartDate datetime, 
      @EndDate datetime
    ) 
    returns int
    begin
      return
      ( select datediff(wk, T2.St, T2.En) -
               case when T1.SDOW > @DOW then 1 else 0 end -
               case when T1.EDOW < @DOW then 1 else 0 end
        from (select datepart(dw, @StartDate),
                     datepart(dw, @EndDate)) as T1(SDOW, EDOW)
          cross apply (select dateadd(d, - T1.SDOW, @StartDate),
                              dateadd(d, 7 - T1.EDOW, @EndDate)) as T2(St, En))
    end
    


    1. OracleでLISTAGGを使用した文字列フォーマット。一重引用符のエスケープ``''

    2. pgAdminの代替-PostgreSQLデータベース管理GUIClusterControl

    3. クエリの実行

    4. ユーザーがフィールドを定義できる場合のスキーマ設計