Situatie
Pentru situatiile in care avem nevoie sa stim inceputul si sfarsitul unei saptamani din care face parte o data calendaristica, am facut o procedura sql ce primeste ca parametru o data calendaristica, si, pentru acea data, procedura returneaza in ce saptamana din an este aceasta data , precum si data de start si data de sfarsit a acelei saptamani, indiferent daca data de sfarsit pica in alta luna (adica zilele de luni si duminica din acea saptamana). De asemenea, procedura primeste si un parametru @format, prin care se poate alege modul in care se doreste sa se afiseze data.
Solutie
create procedure BD_StartEndWeek_prc
@currdate varchar(25),
@Format int = 106
as
declare @firstday varchar(25)
declare @endday varchar(25)
declare @day int
declare @week int
select @week = datepart(ww,@currdate)
select @day =(datepart(dw,@currdate)+5 -@@datefirst)* (-1)
select @firstday = convert(varchar(25),dateadd( dd,@day, @currdate),@Format)
select @endday = convert(varchar(25),dateadd(dd,6,@firstday),@Format)
select @currdate ‘Date’,@week ‘Week’, @firstday ‘First Day of the Week’,@endday ‘Last Day of the Week’
Leave A Comment?