První den v měsíci: SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)
Poslední den v měsíci: SELECT DATEADD(ms, -3, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0))
Nahraďte hodnotu proměnné DateTime za GETDATE().
Dostal jsem to už dávno od tato velmi užitečná stránka který má spoustu dalších výpočtů data, jako je „pondělí aktuálního týdne“ a „první pondělí v měsíci“.