TSQL get records of last week

Today I’ve received this request:
realyze a stored proc that return all records from monday of the previus week to today.

So If we run this stored proc on monday we will get the last 7 days but if we run this on friday, we get 11 days from monday of the previus week.

declare @DateFromTarget datetime
declare @DateToTarget datetime

	declare @TodayNumber integer
	declare @DateFromTmp DateTime

	set @TodayNumber = DATEPART(weekday, GETDATE())
	-- Tolgo i giorni necessari per raggiungere il lunedi della settimana scorsa
	set @DateFromTmp = DATEADD(day, -@TodayNumber - 5, GETDATE())
	-- faccio il cast per mantenere solo la parte Date senza time
	set @DateFromTmp = CONVERT(varchar, @DateFromTmp, 112)

	set @DateFromTarget = @DateFromTmp


	set @DateToTarget = GETDATE()
	

SELECT        *
FROM            [TABLE]
WHERE @DateFromTarget < TimeStamp  AND TimeStamp < @DateToTarget 
Annunci

Informazioni su Andrea Regoli

Project Manager .Net Developer WPF WP7 Asp.Net c# javascript ajax SQL sharepoint
Questa voce è stata pubblicata in SQL e contrassegnata con , , . Contrassegna il permalink.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...