Karena ini adalah sql server 2008 Anda tidak dapat menggunakan EOMonth (yang diperkenalkan pada versi 2012).
Anda harus melakukan beberapa penambahan tanggal dan perbedaan tanggal:
SELECT DATEDIFF(DAY,
GETDATE(),
DATEADD(MONTH,
1,
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
)
) - 1
penjelasan:DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
mendapat hari pertama bulan ini, pembungkus DATEADD
menambahkan satu bulan, dan pembungkus DATEDIFF
mengembalikan jumlah hari antara tanggal saat ini dan tanggal pertama bulan berikutnya. Inilah sebabnya mengapa Anda perlu mengurangi 1 untuk mendapatkan jumlah hari yang benar.