To get first day of the month using T-SQL based on the today's date we can use the following T-SQL statement:
Select Dateadd(d,1-DATEPART(d,getdate()),GETDATE()) as [First Day of the Month]
In the above sql statement we used getdate() function to get current date. We have also used datepart functin with d argument and today's date that returns day of the month. Now that we have these arguments we used DateAdd function and substracted from today's date numbers of days (eg if we have 16th of May 2011 we subctract from this date 16 days) and the trick is to add one day to get first day of month.
If you are interested in similar examples see our T-SQL First day of previous month
Hope that helps!