Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-07-2005
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
Question comparar 1 fecha contra la actual

Deseo comparar la fecha almacenada en un campo DATE sin considerar el año en la BD tengo dd/mm/aaa y deseo compararlo contra la fecha de NOW y verificar si el dd/mm de la base es igual al dd/mm del NOW con que parametros tomo unicamente dd/mm tanto de la base como de la fecha actual??

Desde ya gracias
Responder Con Cita
  #2  
Antiguo 28-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
¿Cuál es el motor que estas utilizando?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 28-07-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
la función formatedatetime podría funcionar....
__________________

Responder Con Cita
  #4  
Antiguo 28-07-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Y también desde donde quieres hacer la comparación? Desde código en Delphi o directamente desde un query?
Responder Con Cita
  #5  
Antiguo 28-07-2005
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
respuesta

trabajo con una tabla paradox! no hay ningun motor raro solo BDE

Y tengo un query al que le paso el string donde quiero comparar lo del a BD que entra en el query como mun parametro contra el now que lo guardo en otro parametro.

Gracias
Responder Con Cita
  #6  
Antiguo 28-07-2005
Avatar de hector.roma
hector.roma hector.roma is offline
Miembro
 
Registrado: jul 2005
Ubicación: a caballo entre Galicia y Portugal
Posts: 58
Poder: 19
hector.roma Va por buen camino
En T-SQL

Si mal no recuerdo esto te puede dar alguna idea...

Código SQL [-]
SELECT ... tus campos ...
Código SQL [-]
FROM tu_tabla
WHERE DATEPART(day, tu_fecha) = DATEPART(day, GETDATE())
AND DATEPART(month, tu_fecha) = DATEPART(month, GETDATE())


...quiero pensar que estas funciones tambien las habrá en Paradox, suerte.

De esta forma no tienes que llegar hasta el Delphi, y lo puedes hacer directamente.

Última edición por hector.roma fecha: 28-07-2005 a las 18:54:52. Razón: maquetaje
Responder Con Cita
  #7  
Antiguo 28-07-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues con Paradox si es el caso tienes que utilizar:
Código Delphi [-]
 EXTRACT(Year FROM MiFecha);
 EXTRACT(Month FROM MiFecha);
 EXTRACT(Day FROM MiFecha);

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 28-07-2005
Avatar de hector.roma
hector.roma hector.roma is offline
Miembro
 
Registrado: jul 2005
Ubicación: a caballo entre Galicia y Portugal
Posts: 58
Poder: 19
hector.roma Va por buen camino
Supongo que ahora sólo quedara cambiar los DATEPART por los EXTRACT, con los que marcoszorrilla, nos ha ilustrado (por lo menos a mi).
Responder Con Cita
  #9  
Antiguo 28-07-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues creo que con la idea que te da Hector y el cambio "Paradoxiano", que propongo yo lo resuelvas.

Pero estoy intrigado, porque quieres comparar la fecha de esta manera y porque Now y no Date, en cualquier caso Paradox no admite ninguno de las dos expresiones, así que tendras que guardar antes de utilizar en el SQL el resultado de Date o Now en una variable y luego utilizar ésta en tu SQL.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #10  
Antiguo 28-07-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
o hacerlo con la función formatdatetime desde delphi antes de guardarlo en paradox....
__________________

Responder Con Cita
  #11  
Antiguo 28-07-2005
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
Lightbulb Gracias probare como me sugieren

NO se cuales son las diferencias de date y now a simplevist me parecieron iguales y use now porque si nomás.

Y si lo tengo almacenado en una variable que luego pasa a ser un param dentro del query.

Lo que necesito es y estoy haciendo es un programa que controle vencimietos cada vez que inicia controla todo lo que vence HOY sin importar el año de inicio del servicio ni que año es hoy. Simplemente me interesa saber que personas tienen vencimiento HOY (DIA/MES).

Desde ya Gracias mañana les cuento como me fue!
Responder Con Cita
  #12  
Antiguo 28-07-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Para terminar con la última pregunta que haces, Date.- Devuelve la fecha del sistema y Now devuelve la fecha y la hora del sistema.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 28-07-2005 a las 20:22:18.
Responder Con Cita
  #13  
Antiguo 28-07-2005
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
Error

Gracias por la aclaracion de Now y Date!

Respecto de todo lo anterior me da TYME MISMATCH ERROR IN EXPRESSION como si se trataran de tipos de datos distintos...

aqui les dejo el codigo SQL para que lo miren

En la base de datos CLIENTES tengo campos con todos los datos de una persona, CODCLI, NOMBRE, FECHA (que es la fecha de suscripcion y vence cada año) y eso es lo que quiero controlar.


Código SQL [-]
sql_vence.Active := False;

sql_vence.SQL.Clear;
sql_vence.Params.CreateParam(ftDate, 'hoy', ptInput);

sql_vence.ParamByName('hoy').AsDate := DATE;
sql_vence.SQL.Append('Select codcli from clientes');
sql_vence.SQL.Append('WHERE (EXTRACT(Month FROM fecha)) =  (EXTRACT(Month FROM :hoy))');
sql_vence.SQL.Append(' AND  (EXTRACT(Day FROM fecha)) =  (EXTRACT(Day FROM :hoy))');

sql_vence.Active := true;
Responder Con Cita
  #14  
Antiguo 28-07-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
var
 MiFecha:TDate;
 begin
 MiFecha:=Date;
 
 sql_vence.Active := False;
 
 sql_vence.SQL.Clear;
 sql_vence.Params.CreateParam(ftDate, 'hoy', ptInput);
 
 sql_vence.ParamByName('hoy').AsDate := MiFecha;
 sql_vence.SQL.Append('Select codcli from clientes');
 sql_vence.SQL.Append('WHERE (EXTRACT(Month FROM fecha)) =  (EXTRACT(Month FROM :hoy))');
 sql_vence.SQL.Append(' AND  (EXTRACT(Day FROM fecha)) =  (EXTRACT(Day FROM :hoy))');
 
 sql_vence.Active := true;
 
 end;
Prueba con este cambio ya que Paradox no reconoce la sentencia Date en su SQL.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 28-07-2005 a las 23:56:01.
Responder Con Cita
  #15  
Antiguo 16-12-2006
Patricio Patricio is offline
Miembro
 
Registrado: jul 2004
Posts: 433
Poder: 20
Patricio Va por buen camino
como puedo hacer lo mismo pero en Interbase6

Hola quisiera preguntarles si alguno sabe como hacer la consulta comparando el dia/mes de un campo TimesTamp de Interbase6 con el dia/mes actual.

Muchas Gracias
Responder Con Cita
  #16  
Antiguo 16-12-2006
Patricio Patricio is offline
Miembro
 
Registrado: jul 2004
Posts: 433
Poder: 20
Patricio Va por buen camino
tambien es con extract

listo gente como no estaba en la ayuda lo del extract no lo probe, pero buscando en otros foros es con esa funcion. Por ejemplo para tomar el dia...
select extract(day from fnacimiento)
Saludos
Responder Con Cita
  #17  
Antiguo 02-02-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
Question ¿comparar la fecha por semanas?

Existe alguna forma de hacer un Extract WEEK para comparar la fecha y por ejemplo obtener lso vencimientos de esta semana?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:40:26.


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
Copyright 1996-2007 Club Delphi