Hola, estoy haciendo un modulo de cumpleaños y muestro diariamente las personas que cumplen años.
Ahora lo que necesito es que los que cumplan años el dia sabado o domingo mostrarlos el dia viernes.
Gracias
| |||
Consulta Fechas Hola, estoy haciendo un modulo de cumpleaños y muestro diariamente las personas que cumplen años. Ahora lo que necesito es que los que cumplan años el dia sabado o domingo mostrarlos el dia viernes. Gracias |
| |||
![]() Hola Raul, bueno soy nuevo en este foro, y seras el primero a quien intente ayudar jeje... Bueno existe la funcion DATEDIFF en mysql esta función te resta 2 fechas y te devuelve el numero de días... osea para tu caso especifico seria asi : datediff(fechacumpleaños,fechaactual) la fechacumpleaños tiene q estar con el año actual...ahora ya tiens el numero de dias q falta para el cumpleaños, creo que con eso ya puedes trabajar. Bueno creo eso te ayudara.... suerte! |
| |||
Respuesta: Consulta Fechas Para traerte los registros que cumplen hoy si es cualquier día de la semana excepto sábado y domingo, y traerte los que cumplen el domingo dos días antes, y los que lo hace el sábado un día antes: En el select hay datos que no sé si querrás mostrar, pero que quiero que veas. Te traerá un texto distinto si es que cumple el sábado o el domingo siguientes. He imaginado que la fecha de nacimiento la tienes en un campo llamado fecha_nac y que tu tabla se llama tabla. SELECT fecha_nac, cast(concat(year(curdate()),date_format(fecha_nac, '-%m-%d')) as date) diacumpleanos, dayofweek(cast(concat(year(curdate()),date_format( fecha_nac,'-%m-%d')) as date)) tipodia, CASE WHEN dayofweek(cast(concat(Year(curdate()),date_format( fecha_nac,'-%m-%d')) as date)) = 1 THEN 'lo celebras hoy, aunque tu cumpleaños es el próximo domingo' WHEN dayofweek(cast(concat(year(curdate()),date_format( fecha_nac,'-%m-%d')) as date)) = 7 THEN 'lo celebras hoy, aunque tu cumpleaños es el próximo sábado' ELSE 'hoy es tu cumpleaños' END aviso FROM `tabla` where curdate()= CASE WHEN dayofweek(cast(concat(year(curdate()),date_format( fecha_nac,'-%m-%d')) as date)) = 1 THEN SUBDATE(cast(concat(year(curdate()),date_format(fe cha_nac,'-%m-%d')) as date), interval 2 day) WHEN dayofweek(cast(concat(year(curdate()),date_format( fecha_nac,'-%m-%d')) as date)) = 7 THEN SUBDATE(cast(concat(year(curdate()),date_format(fe cha_nac,'-%m-%d')) as date), interval 1 day) ELSE cast(concat(year(curdate()),date_format(fecha_nac, '-%m-%d')) as date) END |