Comme il s'agit de SQL Server 2008, vous ne pouvez pas utiliser EOMonth (qui a été introduit dans la version 2012).
Vous devez faire des ajouts et des différences de date :
SELECT DATEDIFF(DAY,
GETDATE(),
DATEADD(MONTH,
1,
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
)
) - 1
explications :DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
obtient le premier jour du mois en cours, l'emballage DATEADD
ajoute un mois, et l'emballage DATEDIFF
renvoie le nombre de jours entre la date actuelle et la première date du mois suivant. C'est pourquoi vous devez soustraire 1 pour obtenir le nombre correct de jours.