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

1か月のmysqlから2つの日付と最終日の間の日曜日の日付を取得します

    日付のテーブルがないとおっしゃっていたので、データベースに一般的なカレンダーテーブルを追加したくない場合は、このようにアプローチできます。

    declare @startdate datetime 
    declare @enddate datetime
    DECLARE @startdateLoop datetime
    
    select @startdate = CAST(start as DATE), @enddate = CAST(end_date as DATE) from #t
    set @startdateLoop = @startdate
    CREATE TABLE #tempCal
      (dates datetime)
    
      WHILE @startdateLoop != @enddate 
      BEGIN
      INSERT INTO #tempCal
      SELECT @startdateLoop
    
      SET @startdateLoop = DATEADD(dd, 1, @startdateLoop)
      END
    
      SELECT * FROM #tempCal
      WHERE dates between @startdate and @enddate and DAYOFWEEK(dates) = 1
    

    必要に応じて、これを手順に変えることができます。

    あなたがカレンダーテーブルを持っていれば、それでもいいでしょう。ティムが提案したように。



    1. リアルタイムの運用分析と非クラスター化列ストアインデックス

    2. オプションの依存関係の作成

    3. 原因:org.postgresql.util.PSQLException:致命的:残りの接続スロットは非レプリケーションスーパーユーザー接続用に予約されています

    4. PostgreSQLのユーザー定義変数