Explore Courses Blog Tutorials Interview Questions
0 votes
in SQL by (20.3k points)

I just need to select the first day of the month of a given datetime variable.

I know it's quite easy to do using this kind of code:

select CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) 

+ '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME)

But this is not very elegant, and probably not very fast either.

Is there a better way to do this? I'm using SQL Server 2008.

1 Answer

0 votes
by (40.7k points)

Use the following code:

SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth

Browse Categories