Ir al contenido


Foto

Consulta SQL con expresion matematica


  • Por favor identifícate para responder
3 respuestas en este tema

#1 jesus_lara

jesus_lara

    Member

  • Miembros
  • PipPip
  • 29 mensajes
  • LocationCadiz

Escrito 11 abril 2014 - 03:51

Buenas noches a todos:

Estoy tratando de realizar una consulta sobre una tabla de una base de datos FB 2.1 con D2010, en la cual pretendo seleccionar los registros que cumplan que la diferencia entre una fecha y la fecha actual es menor de 15 dias, pero desconozco si se pueden insertar en una clausula where expresiones.

La idea seria esta



delphi
  1. Select * from tabla where (Fecha - Date) < 15




Alguna orientacion....

Gracias de antemano por vuestro tiempo
  • 0

#2 jesus_lara

jesus_lara

    Member

  • Miembros
  • PipPip
  • 29 mensajes
  • LocationCadiz

Escrito 11 abril 2014 - 04:50

Me respondo a mi mismo por si a alguien le sirve:

La consulta SQL quedaria asi:



delphi
  1. SELECT * FROM  TABLE WHERE FECHA > :HOY  AND FECHA < :PLAZO
  2. TABLE.ParamByName('HOY').AsDATE := DATE;
  3. TABLE.ParamByName('PLAZO').AsDATE := DATE+15;





Saludos
  • 0

#3 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 12 abril 2014 - 07:41

La misma consulta la puedes realizar sin necesidad de  parámetros.
La siguiente sentencia (ni la tuya) incluyen los límites, o sea no devuelve los registros de la fecha actual ni los de dentro de 15 días.



delphi
  1. SELECT * FROM  TABLE WHERE FECHA > CURRENT_DATE  AND FECHA <  CURRENT_DATE + 15



Para que se incluyan los límites deberías cambiar los operadores por  >= y <=  o en su defecto:



delphi
  1. SELECT * FROM  TABLE WHERE FECHA BETWEEN CURRENT_DATE  AND  CURRENT_DATE + 15



Saludos
  • 0

#4 jesus_lara

jesus_lara

    Member

  • Miembros
  • PipPip
  • 29 mensajes
  • LocationCadiz

Escrito 13 abril 2014 - 10:18

Muchas gracias:
Asi me parece mucho mas limpia sin duda

Gracias
  • 0




IP.Board spam blocked by CleanTalk.