SQL Server - Cálculo primer día del último mes teniendo en cuenta otros factores

 
Vista:

Cálculo primer día del último mes teniendo en cuenta otros factores

Publicado por patrick (1 intervención) el 24/11/2017 13:16:10
Hola, tengo una duda:

Necesito calcular el pimer dia de mes anterior en sql server 2016. Eso lo tengo :

cast(format(DATEADD(month, DATEDIFF(month, 0, DATEADD(month, -1,GETDATE())), 0),'yyyymmdd') as int)

EL problema surge en que lo voy a ejecutar los últimos viernes de cada mes y si el viernes cae entre el día 01 al 07 necesitaría que me siguiera haciendo el mismo cálculo y con mi función ya me cogería el mes siguiente:

¿Me podéis ayudar?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Cálculo primer día del último mes teniendo en cuenta otros factores

Publicado por Isaias (4558 intervenciones) el 24/11/2017 19:35:20
Entonces tu "problema" a resolver es, "Identificar el ULTIMO VIERNES de cada mes"?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cálculo primer día del último mes teniendo en cuenta otros factores

Publicado por patrick (5 intervenciones) el 27/11/2017 09:09:16
No exactamente, Yo voy a planificar un procedimiento para que se me ejecute el último viernes de cada mes, pero para unos cálculos que necesito dentro del sp los tengo que hacer a fecha de cierre día 01 del mes anterior.

Necesito automatizar esto: Ultimo Viernes del mes de Noviembre es día 01 de diciembre, si yo me hago mi cálculo me devuelve: Mes 11 (está mal, necesito mes 10). Viernes 29 de Diciembre de 2017, mi cálculo me devuelve Mes 11 está OK.

cast(format(DATEADD(month, DATEDIFF(month, 0, DATEADD(month, -1,GETDATE())), 0),'yyyymm') as int)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Cálculo primer día del último mes teniendo en cuenta otros factores

Publicado por Isaias (4558 intervenciones) el 27/11/2017 18:07:15
Perdona, por mas que trato de entender que NECESITAS, no capto la idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cálculo primer día del último mes teniendo en cuenta otros factores

Publicado por patrick (5 intervenciones) el 30/11/2017 13:37:57
Ya lo conseguí. LA idea es esta:

case when day (getdate()) between 01 and 17 -- Esto lo hacemos por si el primer sábado de mes cae en un dia que ya forma parte del --siguiente me coja el que necesito
then (cast(left(convert(varchar(8),dateadd(month,-1,getdate()),112),6)+'01' as int))
else (cast(left(convert(varchar(8),dateadd(month,0,getdate()),112),6)+'01' as int)) end)

Y ahora tengo otra duda, mas facilita, como puedo sacar el día del primer sábado de mes?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar