Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Sql Fecha Cumpleaños (https://www.clubdelphi.com/foros/showthread.php?t=66841)

sonjeux 15-03-2010 17:54:30

Sql Fecha Cumpleaños
 
Deseo saber si alguien sabe como puedo saber la fecha de un cumpleaños en firebird, mi fecha esta guardada en formato date del tipo '01/01/1980'. Gracias por su ayuda.

Delphius 15-03-2010 18:02:29

Hola sonjeux
¿Podrías explicarte mejor? ¿Qué es lo que buscas?
¿Saber que día cumple años? ¿Cuanto falta? Si ya tienes guardada la fecha de nacimiento... entonces sabes el día y el mes... el año es el año en curso...

Te agradecería que nos brindes más detalles.

Saludos,

sonjeux 15-03-2010 18:30:06

Hola gracias por responder tan pronto, tengo la fecha de nacimiento guardada en mi base de datos, lo que quiero saber es si hoy es su cumpleaños, o el listado de todos los que cumplen este mes. como seria la consulta?, gracias.

pcicom 15-03-2010 18:36:30

Código SQL [-]

SELECT * FROM tiogamboin WHERE FECHA=current_date;

afunez2007 15-03-2010 18:45:05

Si quieres saber los que cumplen hoy podria ser asi:

Código Delphi [-]
Query1.Active:=False;
Query1.Sql.Text:='SELECT *FROM TUBASE WHERE FECHANAC=:FECHANAC';
Query1.ParamByName('FECHANAC').AsDate:=Now;
Query1.Active:=True;

Si quieres saber los de un Rango de fechas podria ser asi:

Código Delphi [-]
Query1.Active:=False;
Query1.Sql.Text:='SELECT *FROM TUBASE WHERE FECHANAC>=:FECHANAC1  AND FECHANAC<=:FECHANAC2';
Query1.ParamByName('FECHANAC1').AsDate:=Fecha1;
Query1.ParamByName('FECHANAC2').AsDate:=Fecha2;
Query1.Active:=True;

Donde fecha1 y fecha2 pueden ser variables o las puedes tomar de un datetimepicker

Espero te sirvan estas ideas

Saludos

guillotmarc 15-03-2010 18:53:15

Hola.

Para saber todos los que cumplen años hoy :

Código SQL [-]
select * 
from CLIENTES 
where extract(year from NACIMIENTO) = extract(year from current_date) and 
        extract(month from NACIMIENTO) = extract(month from current_date) and 
        extract(day from NACIMIENTO) = extract(day from current_date)

Los que cumplen años este mes son :

Código SQL [-]
select * 
from CLIENTES 
where extract(year from NACIMIENTO) = extract(year from current_date) and 
          extract(month from NACIMIENTO) = extract(month from current_date)

Saludos

Casimiro Notevi 15-03-2010 19:15:09

Sólo se tiene que mirar día y mes, el año no importa, se cumplen todos los años :)

guillotmarc 16-03-2010 11:45:19

Cita:

Empezado por Casimiro Notevi (Mensaje 356987)
Sólo se tiene que mirar día y mes, el año no importa, se cumplen todos los años :)

Jejeje, que fallo. Hago la descomposición de la fecha para comparar solo la parte que nos interesa, pero luego olvido no tener en cuenta el año :o.

Gracias Casimiro.

Cumpleaños del día :

Código SQL [-]
select * 
from CLIENTES 
where extract(month from NACIMIENTO) = extract(month from current_date) and 
      extract(day from NACIMIENTO) = extract(day from current_date)

Cumpleaños del mes :


Código SQL [-]
select * 
from CLIENTES 
where extract(month from NACIMIENTO) = extract(month from current_date)

Saludos.

sonjeux 17-03-2010 16:03:28

Gracias
 
Muchas gracias a todos por su ayuda.:D


La franja horaria es GMT +2. Ahora son las 19:55:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi