Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để đếm số ngày cuối tuần từ một loạt các ngày

Đây rồi

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]) 

Đây là kết quả của bạn



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng Try Catch để hiển thị Lỗi đăng nhập cho chuỗi kết nối (App.Config)

  2. Chức năng cửa sổ để đếm các bản ghi riêng biệt

  3. Đăng nhập không thành công cho người dùng 'NT AUTHORITY \ ANONYMOUS LOGON' trong SQL Server 2008

  4. Cách làm tròn (LÊN / XUỐNG) trong SQL Server - 5 mẹo hữu ích

  5. SQL Server:xuất truy vấn dưới dạng tệp .txt