Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

bagaimana cara mendapatkan tanggal mulai dan akhir semua minggu antara dua tanggal di server SQL?

Anda dapat menggunakan CTE rekursif untuk menghasilkan daftar tanggal:

;with cte as
(
  select @sDate StartDate, 
    DATEADD(wk, DATEDIFF(wk, 0, @sDate), 6) EndDate
  union all
  select dateadd(ww, 1, StartDate),
    dateadd(ww, 1, EndDate)
  from cte
  where dateadd(ww, 1, StartDate)<=  @eDate
)
select *
from cte

Lihat SQL Fiddle dengan Demo.

Kemudian Anda dapat menggabungkan ini ke meja Anda, untuk mengembalikan detail tambahan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara menggunakan gabungan silang dan memberi koma di antara dua tabel?

  2. Cara Mengaktifkan semua Batasan Pemeriksaan di Database SQL Server - Tutorial SQL Server / TSQL Bagian 88

  3. Risiko tabrakan UUID menggunakan algoritma yang berbeda

  4. DATENAME() Contoh di SQL Server

  5. Statistik Penggunaan CPU Database SQL Server