CREATE FUNCTION ZilelePrecedente(@Data datetime)
RETURNS TABLE AS RETURN
SELECT @Data-CASE (DATEPART(weekday,@Data)+@@DATEFIRST)%7
WHEN 0 THEN null
WHEN 1 THEN null
WHEN 2 THEN 3
WHEN 3 THEN 1
WHEN 4 THEN 1
WHEN 5 THEN 1
WHEN 6 THEN 1
END AS Data
UNION ALL
SELECT @Data-CASE (DATEPART(weekday,@Data)+@@DATEFIRST)%7
WHEN 0 THEN null
WHEN 1 THEN null
WHEN 2 THEN 4
WHEN 3 THEN 4
WHEN 4 THEN 2
WHEN 5 THEN 2
WHEN 6 THEN 2
END AS Data
GO
SELECT * FROM ZilelePrecedente('20080918')
Răzvan