dette vil give dig den første i måneden for en given dato
indre vælgselect DATEDIFF(MONTH, 0, GETDATE())
vil give antal måneder fra 1900-01-01
her er det 1350
dette vil blive tilføjet til 1900-01-01, men kun månederne
select DATEADD(MONTH,1350,0)
vil give 2012-07-01 00:00:00.000
som er starten på den aktuelle måned.
Jeg tror, at dette er den mest effektive måde at finde starten på en måned for en given dato.