declare @dstop as datetime set @dstop = getdate() set @dstop = dateadd(d,-1,dateadd(mm,1,convert(datetime,cast(year(@dstop) as nvarchar(4)) + '-' + RIGHT('0' + cast(MONTH(@dstop) as nvarchar(4)),2) + '-01',120))) select @dstop
Algorytm postępowania jest następujący:
Wyciągamy Rok i miesiąc i na podstawie tego sklejamy datę określającą pierwszy dzień miesiąca
dodajemy miesiąc do tak otrzymanej daty
dodajemy -1 dzień do otrzymanej wcześniej sumy
Inna metoda to:
declare @dstop datetime set @dstop = getdate() + 1 set @dstop = dateadd(d,-day(dateadd(m,1,@dstop)),dateadd(m,1,@dstop)) select @dstopSposób ten zaprezentował kolega Bartosz Ślepowroński w tym wątku
Z powodzeniem ten sposób można zastosować w innych dialektach SQL np. JET
Brak komentarzy:
Prześlij komentarz