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

Consulta Fechas

Estas en el tema de Consulta Fechas en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/06/2009, 11:38
 
Fecha de Ingreso: agosto-2006
Mensajes: 112
Antigüedad: 17 años, 9 meses
Puntos: 2
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
  #2 (permalink)  
Antiguo 24/06/2009, 15:15
 
Fecha de Ingreso: junio-2009
Mensajes: 32
Antigüedad: 14 años, 11 meses
Puntos: 2
De acuerdo Respuesta: Consulta Fechas

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!
  #3 (permalink)  
Antiguo 25/06/2009, 07:47
 
Fecha de Ingreso: agosto-2006
Mensajes: 112
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: Consulta Fechas

hey wilarizz, gracias lo probare.

Saludos
  #4 (permalink)  
Antiguo 25/06/2009, 09:48
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 2 meses
Puntos: 300
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
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 00:10.