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

Pisahkan rentang tanggal ke baris tahun-bulan di SQL Server 2005

Berikut adalah metode yang menggunakan CTE rekursif:

with CTE as (
      select id, dateStart as dte, dateEnd
      from t
      union all
      select id, dateadd(month, 1, dte), dateEnd
      from CTE
      where dateadd(month, 1, dte) < dateEnd
     )
select id, dte
from CTE;

Anda dapat mengonversi hasil akhir ke dalam format apa pun yang Anda suka. Misalnya:

select id, year(dte) * 10000 + month(dte) as yyyymm_int

atau

select id, cast(year(dte) * 10000 + month(dte) as varchar(255)) as yyyymm


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ganti beberapa karakter dari string tanpa menggunakan fungsi ganti bersarang

  2. Menghasilkan kode sql secara terprogram

  3. Menjatuhkan dan membuat ulang database di Microsoft SQL Server

  4. Konversi Nama Bulan ke Nomor Bulan di SQL Server (T-SQL)

  5. Menyimpan gambar di SQL Server?