Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Requête SQL pour trouver le dernier jour du mois

Essayez celui-ci -

CREATE FUNCTION [dbo].[udf_GetLastDayOfMonth] 
(
    @Date DATETIME
)
RETURNS DATETIME
AS
BEGIN

    RETURN DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @Date) + 1, 0))

END

Requête :

DECLARE @date DATETIME
SELECT @date = '2013-05-31 15:04:10.027'

SELECT DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @date) + 1, 0))

Sortie :

-----------------------
2013-05-31 00:00:00.000