|
DEKLARĒT @dt datumu un laiku IESTATĪT @dt=GETDATE() DEKLARĒT @number int IESTATĪT @number=3 --1. Norādiet gada pirmās vai pēdējās dienas datumu --A. Gada pirmā diena SELECT Co nVERT(char(5),@dt,120)+ '1-1 ' --B. Gada pēdējā diena SELECT Co nVERT(char(5),@dt,120)+ '12-31 ' --2. Ceturkšņa pirmā vai pēdējā diena, kurā atrodas norādītais datums --A. Ceturkšņa pirmā diena SELECT Co nVERT(datetime, Co nVERT(char(8), DATEADD(Mo nth, DATEPART(Ceturksnis,@dt)*3-Mo nth(@dt)-2, @dt), 120)+ '1 ')
--B. Ceturkšņa pēdējā diena (LIETAS spriedums) SELECT Co nVERT(datetime, Co nVERT(char(8), DATEADD(Mo nth, DATEPART(Ceturksnis,@dt)*3-Mo nth(@dt), @dt), 120) +GADĪJUMS, KAD DATEPART(ceturksnis,@dt) in(1,4) TAD "31" "CITĀDI "30" BEIGAS) --C. Ceturkšņa pēdējā diena (tiešās virzīšanas algoritms) ATLASIET DATEADD(Diena,-1, Co nVERT(char(8), DATEADD(Mo nth, 1+DATEPART(Ceturksnis,@dt)*3-Mo n-tas(@dt), @dt), 120)+ '1 ') --3.Mēneša pirmā vai pēdējā diena, kurā atrodas norādītais datums --A. Mēneša pirmā diena SELECT Co nVERT(datetime,Co nVERT(char(8),@dt,120)+ '1 ')
--B. Mēneša pēdējā diena SELECT DATEADD(Diena,-1,Co nVERT(char(8),DATEADD(Mo nth,1,@dt),120)+ '1 ') --C. Mēneša pēdējā diena (viegli lietojama nepareiza metode) SELECT DATEADD(Mo nth;1;DATEADD(Diena,-DIENA(@dt),@dt)) --4. Jebkura nedēļas diena, kurā atrodas norādītais datums ATLASIET DATEADD(Diena;@number-DATEPART(Nedēļdienas;@dt),@dt)
--5. Jebkura nedēļas diena, kurā atrodas norādītais datums --A. Svētdiena kā nedēļas pirmā diena SELECT DATEADD(Diena;@number-(DATEPART(Nedēļas diena;@dt)+@@DATEFIRST-1)%7,@dt)
--B. Pirmdiena ir nedēļas pirmā diena ATLASIET DATEADD(Diena;@number-(DATEPART(Darba diena;@dt)+@@DATEFIRST-2)%7-1;@dt)
|