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

SQL - 既存のデータセットの日付範囲に基づいて各月の行を生成するにはどうすればよいですか?

    整数のリストを作成し、それを使用して日付をインクリメントすることで、これらの問題に取り組むのが最も簡単だと思います。以下に例を示します:

    with nums as (
          select 0 as n
          union all
          select n + 1 as n
          from nums
          where n < 11
         )
    select rowid, datestart, dateend,
           year(dateadd(month, n.n, datestart)) as yr,
           month(dateadd(month, n.n, datestart)) as mon
    from table t join
         nums n
         on dateadd(month, n.n - 1, datestart) <= dateend;
    


    1. ローカルのpostgresqlデータベースのURLの形式は何ですか?

    2. SqitchReworkコマンドでテーブルを変更する

    3. mysqlcte。 withを使用して挿入すると、構文エラーが警告されます

    4. すべての共著者を検索-多対多のマッピングテーブルのファセット/グループ化