Consulta para saber cuántos sábados y domingos hay entre dos fechas en MYSQL

23 views
Skip to first unread message

avazq...@gmail.com

unread,
Oct 9, 2024, 7:02:22 PM10/9/24
to oohg, ado-h...@googlegroups.com

Buenas.

Necesito saber el número de sábados y de domingos que hay entre dos fechas en MYSQL sin tablas adicionales.

He estado buscando por la web, pero ninguna me funciona.

Alguna idea?
Gracias

Saludos.

Antonio Vázquez

Avazq...@gmail.com

 

José M. C. Quintas

unread,
Oct 9, 2024, 8:00:32 PM10/9/24
to oo...@googlegroups.com

Vamos pensar....

duas datas, dividir por 7 tem quantas semanas.

Dias := data2 - data1

nSabados := nDomingos := int( dias / 7 )

sobra pra calcular os dias restantes, que dependem do dia da semana inicial, ou a partir do dia seguinte

datatest := data1 + ( int( dias / 7 ) * 7 )

nRestam := Mod( dias, 7 )

talvez

FOR nCont = 1 TO nRestam

   DO CASE

   CASE sabado; nSabados += 1

   CASE domingo; nDomingos += 1

   ENDCASE

NEXT

Crie em harbour primeiro, depois converta pra MySQL

Espero que ajude.


José M. C. Quintas

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/oohg/006b01db1a9f%24497ef1a0%24dc7cd4e0%24%40gmail.com.

avazq...@gmail.com

unread,
Oct 10, 2024, 8:19:28 AM10/10/24
to oo...@googlegroups.com

Gracias por responder.

Desde programación lo tengo resuelto. La duda me surgió al intentar hacerlo mediante Mysql.

 

Yo lo tengo resuelto así, aunque veo que tu solución debe ser más rápida.

                

Ntotsabdom:=0

for ndia:=d1 to d2

                 if substr(HB_OEMTOANSI(cdow(ndia)),1,3) $ "SábDom"

                              ntotsabdom++

                 endif

   next

 

Saludos.

Nippur Lagash

unread,
Oct 10, 2024, 2:44:50 PM10/10/24
to oo...@googlegroups.com
Hola,te dejo un ejemplo:
#DAYOFWEEK FUNCT
#1=Domingo 2=Lunes 3=Martes 4=Miercoles 5=Jueves 6=Viernes 7=Sabado

SET @desde = '2024-09-01';
SET @hasta = '2024-09-14';
SET @dia = 7;
SET @min = CASE WHEN DAYOFWEEK(@desde)-1 = 0 THEN 7 ELSE DAYOFWEEK(@desde)-1 END;
SELECT datediff(@hasta, @desde) DIV 7 + (CASE WHEN @min = @dia THEN 1 ELSE 0 END) 'CantDias';

Saludos,
Fer.MDQ




--
Nippur
Mar del Plata
Buenos Aires
Argentina

Antonio Vázquez

unread,
Oct 10, 2024, 2:51:46 PM10/10/24
to oo...@googlegroups.com
Muchas gracias.
Saludos.
Antonio


From: oo...@googlegroups.com <oo...@googlegroups.com> on behalf of Nippur Lagash <nipp...@gmail.com>
Sent: Thursday, October 10, 2024 8:44:38 PM
To: oo...@googlegroups.com <oo...@googlegroups.com>
Subject: Re: [oohg] Consulta para saber cuántos sábados y domingos hay entre dos fechas en MYSQL
 
Reply all
Reply to author
Forward
0 new messages