Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-04-2009
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 22
emeritos Va por buen camino
Sentencia SQL

Hola Dilferos.
Estoy utilizando el Delphi 7 y MyDac y necesito ayuda para emntender una sentencia de SQL.

En Delphi si ponenos Date() + 365, es decir la suma de una fecha y un entero el resultado, en este caso, es sumar a la fecha 365 dias (el entero), esto mismo quiero hacer en SQL y la sentencia que tengo es:

SELECT fecha
FROM fichero
WHERE fecha + 365 >= date()

Lo que no entiendo es que hace fecha + 365, por que no le suma esos dias a la fecha. ¿ Como lo puedo hacer?

Gracias.
Responder Con Cita
  #2  
Antiguo 11-04-2009
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
Me da la impresión que lo que está fallando es Date().


Código SQL [-]
SELECT fecha + 365 
FROM fichero

Creo que funcione, con esto confirmamos que el fallo está en Date, por ejemplo Paradox no admite el uso de Date como SQL que yo recuerde.

Pero si una variable que contenga la fecha.

Código Delphi [-]
Var
MiFecha:Tdate;
begin
MiFecha:=Date + 365;
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT fecha');
Query1.Sql.Add('FROM fichero');
Query1.Sql.Add('WHERE fecha + 365 >= '+ FormatDateTime('mm/dd/yyyy',MiFecha));
Query1.Open;
end;

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: 11-04-2009 a las 13:46:03.
Responder Con Cita
  #3  
Antiguo 12-04-2009
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 22
emeritos Va por buen camino
Realmente la sentencia es:
Código Delphi [-]
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT fecha');
Query1.Sql.Add('FROM fichero');
Query1.Sql.Add('WHERE fecha + 365 >= :afecha);
Query1.Sql.parameters('afecha').AsDate := date();
Query1.Open;
lo que sigue NO funcionando es fecha + 365 que creo que no suma el año.

Gracias.

Última edición por marcoszorrilla fecha: 18-04-2009 a las 13:23:47.
Responder Con Cita
  #4  
Antiguo 17-04-2009
moz_an moz_an is offline
Registrado
 
Registrado: abr 2006
Posts: 7
Poder: 0
moz_an Va por buen camino
Buenos dias,
prueba esto:
Código Delphi [-]
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT fecha');
Query1.Sql.Add('FROM fichero');
Query1.Sql.Add('WHERE fecha>= :afecha);
Query1.Sql.parameters('afecha').AsDate := incyear(date,-1);
Query1.Open;
saludos.

Última edición por marcoszorrilla fecha: 18-04-2009 a las 13:24:04.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
sentencia SQL jerosol SQL 2 14-06-2007 21:13:53
Sql Sentencia jalejandro0211 SQL 3 21-11-2006 13:39:06
Uso de IN en una sentencia SQL gaby_stars SQL 7 03-09-2006 09:41:21
Sentencia SUM geovany SQL 2 29-10-2004 23:52:24
sentencia sql??? empty SQL 3 07-04-2004 11:01:32


La franja horaria es GMT +2. Ahora son las 20:01:05.


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