sql >> Databáze >  >> RDS >> Sqlserver

Nejjednodušší způsob naplnění dočasné tabulky daty mezi a včetně 2 parametrů data

Toto funguje, i když @StartDate není první v měsíci. Předpokládám, že pokud není začátek měsíce, chcete začít prvním měsícem příštího. Jinak odeberte +1.:

;WITH cte AS (
SELECT CASE WHEN DATEPART(Day,@StartDate) = 1 THEN @StartDate 
            ELSE DATEADD(Month,DATEDIFF(Month,0,@StartDate)+1,0) END AS myDate
UNION ALL
SELECT DATEADD(Month,1,myDate)
FROM cte
WHERE DATEADD(Month,1,myDate) <=  @EndDate
)
SELECT myDate
FROM cte
OPTION (MAXRECURSION 0)


  1. Připojení AnySQL Maestro k Salesforce.com

  2. Chyba propojení s libpq pomocí C++

  3. Aktualizujte sloupec Clob v Oracle

  4. Zkopírujte tabulku (včetně indexů) v postgresu