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

SQL - bagaimana cara menghasilkan baris untuk setiap bulan berdasarkan rentang tanggal dalam kumpulan data yang ada?

Saya merasa paling mudah untuk mendekati masalah ini dengan membuat daftar bilangan bulat dan kemudian menggunakannya untuk menambah tanggal. Ini contohnya:

with nums as (
      select 0 as n
      union all
      select n + 1 as n
      from nums
      where n < 11
     )
select rowid, datestart, dateend,
       year(dateadd(month, n.n, datestart)) as yr,
       month(dateadd(month, n.n, datestart)) as mon
from table t join
     nums n
     on dateadd(month, n.n - 1, datestart) <= dateend;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan HANYA Huruf Kapital dalam kata melalui kueri IN SQL Server

  2. 5 Cara Menemukan Baris yang Mengandung Huruf Besar di SQL Server

  3. Cara Membuat Ekstensi untuk SSMS 2019 (v18)

  4. String split T-SQL berdasarkan pembatas

  5. Cara menghasilkan Script untuk Menambahkan Batasan Default ke Kolom di Beberapa Tabel di Database SQL Server - Tutorial SQL Server / TSQL Bagian 94