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

Cara termudah untuk mengisi tabel temp dengan tanggal antara dan termasuk 2 parameter tanggal

Ini berfungsi bahkan jika @StartDate bukan yang pertama di bulan itu. Saya berasumsi bahwa jika ini bukan awal bulan, Anda ingin memulai dengan yang pertama bulan berikutnya. Jika tidak, hapus +1.:

;WITH cte AS (
SELECT CASE WHEN DATEPART(Day,@StartDate) = 1 THEN @StartDate 
            ELSE DATEADD(Month,DATEDIFF(Month,0,@StartDate)+1,0) END AS myDate
UNION ALL
SELECT DATEADD(Month,1,myDate)
FROM cte
WHERE DATEADD(Month,1,myDate) <=  @EndDate
)
SELECT myDate
FROM cte
OPTION (MAXRECURSION 0)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pisahkan hasil baris ke kolom

  2. Perbedaan antara Equi-Join dan Inner-Join di SQL

  3. Berapa jumlah Maksimum Kolom yang diizinkan di Tampilan SQL Server 2008?

  4. SQL Server:IN ('asd') tidak berfungsi saat kolom NTEXT

  5. SQL Tampilkan semua item yang disewa sebelum dan hingga tanggal tertentu