• Here is another way to do it:

    CREATE Function GetMonthEnd(@Date DateTime)

    Returns DateTime

    AS

    Begin

    Return (dateadd(mm, datediff(mm, 0, @Date) + 1, 0) - 1)

    End