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

Jak zjistím počet víkendových dnů z rozsahu dat

Tady to je

DECLARE @STARTDATE DATE='01/JAN/2014'    
DECLARE @ENDDATE DATE='01/MAR/2014'

;WITH  CTE as
(
    SELECT  CAST(@STARTDATE AS DATE) as [DAYS] 
    UNION ALL
    SELECT DATEADD(DAY,1,[DAYS]) [DAYS]
    FROM    CTE
    WHERE   [DAYS] < CAST(@ENDDATE AS DATE)
)
SELECT DISTINCT COUNT([DAYS]) OVER(PARTITION BY DATENAME(WEEKDAY,[DAYS])) CNT,
DATENAME(WEEKDAY,[DAYS]) WD
FROM CTE 
WHERE DATENAME(WEEKDAY,[DAYS]) = 'SATURDAY' OR DATENAME(WEEKDAY,[DAYS]) = 'SUNDAY'
ORDER BY DATENAME(WEEKDAY,[DAYS]) 

Zde je váš výsledek



  1. Vyberte Hromadný sběr do příkladu Oracle

  2. Jak povolím LOAD DATA LOCAL INFILE v Propel?

  3. Jak rychle VYBRAT 3 náhodné záznamy z 30k MySQL tabulky s filtrem kde pomocí jediného dotazu?

  4. Existuje způsob, jak ignorovat sloupce, které na INSERT neexistují?