sql >> Database >  >> RDS >> Sqlserver

SQL - hoe genereer ik rijen voor elke maand op basis van datumbereiken in een bestaande dataset?

Ik vind het het gemakkelijkst om deze problemen te benaderen door een lijst met gehele getallen te maken en die vervolgens te gebruiken om de datums te verhogen. Hier is een voorbeeld:

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. Hoe u het jaar uit een datum haalt in T-SQL

  2. waarde van max_connections in AWS RDS

  3. Het ROOT-wachtwoord opnieuw instellen in MySQL 5.6

  4. Hoe kan ik een XML-document invoegen in PostgreSQL in Java?