Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Cuantos lunes hay en un rango de fechas

Estas en el tema de Cuantos lunes hay en un rango de fechas en el foro de SQL Server en Foros del Web. Hola que tal saludos a todos quisiera que me ayudaran ha hacer una consulta en sql que me diga cuantos días lunes se encuentran dentro ...
  #1 (permalink)  
Antiguo 16/09/2012, 17:38
 
Fecha de Ingreso: septiembre-2012
Ubicación: Ciudad Obregon
Mensajes: 1
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Cuantos lunes hay en un rango de fechas

Hola que tal saludos a todos quisiera que me ayudaran ha hacer una consulta en sql que me diga cuantos días lunes se encuentran dentro de un rango de fechas, espero y me puedan ayudar.... gracias
  #2 (permalink)  
Antiguo 16/09/2012, 19:03
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 2 meses
Puntos: 1146
Respuesta: Cuantos lunes hay en un rango de fechas

danos un ejemplo de la estructura de la base de datos, que es lo que tienes hecho hasta ahorita?
  #3 (permalink)  
Antiguo 17/09/2012, 07:17
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Cuantos lunes hay en un rango de fechas

sencillo primero sacas la diferencia en dias que tienen tus fechas con un datediff(), y haces un ciclo de 1 a el total de dias, dentro de este ciclo analizas cada una de las fechas que componen tu rango de fechas y con un datepart() sacas si es un lunes y vas aumentando un contador..........y listo :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 17/09/2012, 13:51
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Cuantos lunes hay en un rango de fechas

Te adjunto un ejemplo de la calculación del numero de lunes en el año 2012:
Código SQL:
Ver original
  1. DECLARE @FromDate DateTime,
  2.         @ToDate DateTime;
  3. SELECT  @FromDate='20120101',
  4.         @ToDate='20121231';
  5. DECLARE @WeekDay INT;
  6. SELECT  @WeekDay=2;
  7. SELECT (CAST(@ToDate AS INT)+2-@WeekDay)/7-(CAST(@FromDate AS INT)+1-@WeekDay)/7 [Weekdays];
El calculo es de la resta entre el numero hasta 31/12/2012 y el numero hasta 01/01/2012 (menos 1 dia).
El conteo de los dias en el sistema de Microsoft empezó en el dia numero 0 - lunes, 01/01/1900.
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Etiquetas: server, sql, bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:56.