Dadurch erhalten Sie den Ersten des Monats für ein bestimmtes Datum
inner selectselect DATEDIFF(MONTH, 0, GETDATE())
gibt die Anzahl der Monate ab 1900-01-01
hier ist es 1350
dies wird zu 1900-01-01 hinzugefügt, aber nur die Monate
select DATEADD(MONTH,1350,0)
ergibt 2012-07-01 00:00:00.000
das ist der Beginn des aktuellen Monats.
Ich denke, dies ist der effizienteste Weg, um den Beginn eines Monats für ein bestimmtes Datum zu finden.