How to get first date of given date or month.

Lesson 25 of 96

Get First date of month:

SQL
SELECT DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 1) AS FirstDayOfCurrentMonth

Create function for that

SQL
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'FN' AND name = 'FN_GetFirstDateOfMonth')
BEGIN
    EXEC('
    CREATE FUNCTION dbo.FN_GetFirstDateOfMonth (@InputDate DATE)
    RETURNS DATE
    AS
    BEGIN
        DECLARE @FirstDateOfMonth DATE;
        SET @FirstDateOfMonth = DATEADD(MONTH, DATEDIFF(MONTH, 0, @InputDate), 0);
	--	SET @FirstDateOfMonth = DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 1)
        RETURN @FirstDateOfMonth;
    END;');
END;

go

SELECT dbo.FN_GetFirstDateOfMonth(GETDATE()) AS FirstDateOfMonth;

SELECT DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 1) AS FirstDayOfCurrentMonth