none
como puedo tener la fecha, teniendo la semana el día y el año? RRS feed

  • Pregunta

  • Buen@s días/tardes:

    Tengo el siguiente dilema: Tengo parámetros de entrada el cual es una fecha Ejemplo "05-11-2017" el cual pasa por la siguiente consulta:

    - SELECT DATEPART(WK,'5-11-2017') as 'Semana', DATEPART(dw,'5-11-2017') as 'Día'

    Esto me retorna el numero de semana y el día esto representado con un numero (1=lunes, 2=martes.... etc.)

    Mi duda es la siguiente, sabiendo que tengo 

    • Semana: 45
    • Día: 7
    • Año:2017

    ¿Cómo puedo obtener la fecha sabiendo estos datos? (en este caso seria '5-11-2017') 

    Lo esta intentado con algo así =  select DATEADD(wk,DATEDIFF(wk,45,'31-12-2017'),6) 

    ayuda por favor 

    martes, 9 de enero de 2018 13:55

Respuestas

  • set datefirst 1
    declare @año int =2017,@semana int =45,@dia int =7
    declare @inicioaño datetime=cast(cast( @año*10000+101 as varchar) as datetime)
    select dateadd(day,(@semana-1)*7+@dia-DATEPART(WEEKDAY,@inicioaño),@inicioaño)

    eso es XDDD... para futuras generaciones lo dejo 

    • Marcado como respuesta Old.Panshop martes, 9 de enero de 2018 14:06
    martes, 9 de enero de 2018 14:06