Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Consulta SQL para encontrar o último dia do mês


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

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

END

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

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

Saída:
-----------------------
2013-05-31 00:00:00.000