84 messaggi dal 15 settembre 2005
Ciao a tutti, ho un problema, come posso risalire al primo giorno (gg/mm/aaaa) e all'ultimo giorno (gg/mm/aaaa) di una settimana partendo dal numero della settimana e anno?
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
paolom ha scritto:
Ciao a tutti, ho un problema, come posso risalire al primo giorno (gg/mm/aaaa) e all'ultimo giorno (gg/mm/aaaa) di una settimana partendo dal numero della settimana e anno?


In SQL Server, giocando un po' con le funzioni DATEADD e DATEDIFF potresti scrivere

SET NOCOUNT ON;
USE tempdb;
GO
CREATE PROCEDURE dbo.GetData (
@settimana int,
@anno int
)
AS BEGIN
DECLARE @curWeek datetime;
DECLARE @year datetime;

SELECT @year = DATEADD(yy, @anno - 1900, '19000101')

PRINT 'Ottiene la settimana come datetime';
SELECT @curWeek = DATEADD(wk, @settimana, @year);
SELECT @curWeek AS [Settimana corrente];

SELECTDATEADD(day, DATEDIFF( day, 0, @curWeek )/7*7, -7) AS [Lunedi]
,DATEADD(day, DATEDIFF( day, 0, @curWeek )/7*7 + 6, -8) AS [Sabato];
RETURN 0;
END;
GO
EXEC dbo.GetData 23, 2007;
GO
DROP PROCEDURE dbo.GetData;
--<---------
Ottiene la settimana come datetime
Settimana corrente
-----------------------
2007-06-11 00:00:00.000

Lunedi Sabato
----------------------- -----------------------
2007-06-04 00:00:00.000 2007-06-09 00:00:00.000

saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.