Обновление:
select dateadd(month, datediff(month, 0, getdate()), 0)
Старше:
Попробуйте это:
declare @arbitraryDate datetime;
set @arbitraryDate = getdate();
set @arbitraryDate = dateadd(dd, datediff(dd, 0, @arbitraryDate), 0) --strip time
select dateadd(dd, -day(@arbitraryDate)+1,@arbitraryDate) --strip days
Или это:
select cast(convert(varchar(6), getdate(), 112) + '01' as datetime)