sql >> Databasteknik >  >> RDS >> Sqlserver

månader mellan två datum i sql server med start- och slutdatum för var och en av dem i sql server

En metod är en rekursiv CTE:

with cte as (
      select dateadd(day, 1 - day(@startdate), @startdate) as som,
             eomonth(@startdate) as eom
      union all
      select dateadd(month, 1, som), eomonth(dateadd(month, 1, som))
      from cte
      where dateadd(month, 1, som) < @enddate
     )
select *
from cte;

Om du vill ha månadens namn kan du använda datename(month, som) .



  1. Hur man manuellt ställer in seed value som 1000 i MySQL

  2. Django-formulär för att fråga databas (modeller)

  3. Heltal utanför intervallet på Postgres DB

  4. skapa kolumn för auto-date i postgresql