Lo intenté pero no pude obtener la solución correcta. Quiero una consulta SQL que enumere todas las fechas de fin de semana del año actual.¿Cómo obtener todas las fechas de fin de semana del año actual en SQL?
yo probamos este consulta SQL:
WITH hier(num, lvl) AS (
SELECT 0, 1
UNION ALL
SELECT 100, 1
UNION ALL
SELECT num + 1, lvl + 1
FROM hier
WHERE lvl < 100
)
SELECT lvl [Week],
convert(date,DATEADD(dw, -DATEPART(dw, DATEADD(wk,DATEDIFF(wk,0,'12/31/'+convert(nvarchar,YEAR(getdate()))), 0)+6),
DATEADD(wk, DATEDIFF(wk,0,'12/31/'+convert(nvarchar,YEAR(getdate()))), 0)+6) - num * 7,101) [End Date]
FROM hier a
where num < 52
ORDER BY [End Date] asc
Su salida es la siguiente:
Week End date
52 2012-01-14
51 2012-01-21
50 2012-01-28
49 2012-02-04
Quiero las fechas para empezar desde el principio - es así, lo anterior no se encuentra un fin de semana, lo cual es 2012-07-01
. Además, quiero que los números de la semana aparezcan como 1, 2, 3...
en lugar de 52, 51...
.
En primer lugar, definen lo que * * decir con la fecha de fin de semana - diferentes culturas definen estas cosas de manera diferente. Suponiendo que se refiera a un fin de semana como los sábados y domingos, ¿qué fecha necesita? El sábado, el domingo, ¿ambos? Si ambos, como dos columnas en una sola fila, o como filas separadas? –
fecha de finalización es el sábado –