Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Sin valor en Sentencia (https://www.clubdelphi.com/foros/showthread.php?t=14476)

AGAG4 21-09-2004 20:20:35

Sin valor en Sentencia
 
Quiero saber en que estoy mal con la siguiente Sentencia SQL, lo que pasa es que no me marca ningun error, pero no me devuelve ningun registro siendo que hay un registro que debe de salir por estar en los rangos de la misma:
Código SQL [-]
Select *from TFAC_PROMOCIONES
where Sucursal=1 and Cliente=1 and
      FECHAINICIAL <=21/09/2004 and
      FECHAFINAL >=21/09/04 and
      HoraInicial <= (SELECT CURRENT_TIME FROM RDB$DATABASE) and
      HoraFinal >= (SELECT CURRENT_TIME FROM RDB$DATABASE)

Tengo bien la Hora del Servidor. Como ya se dieron cuenta quiero sacar a aquel cliente y sucursal que estan en un rango de fechas y hora.
Cualquier sugerencia se los agradezco.

delphi.com.ar 21-09-2004 20:35:37

Yo te recomendaría ir quitando condiciones para ver cuál es la condición excluyente, si es que la hay... ¿No existe posibilidad de que no haya datos con estas condiciones?

AGAG4 21-09-2004 21:22:26

oki
 
Si empiezo a quitar sentencias para determinar que es lo que esta incorrecto, me marca el siguiente error:

OverFlow occurred during data type conversion. Conversion error from string "0".

Dejando esta Sentencia:
Código SQL [-]
Select *from TFAC_PROMOCIONES
where sucursal=1 and cliente=1 and
FECHAINICIAL <=21/09/2004 and
FECHAFINAL   >=21/09/2004

Pero si lo hago de esta forma no me genera el error, pero no me devuelve ningun registro.
Código SQL [-]
Select *from TFAC_PROMOCIONES
where sucursal=1 and cliente=1 and
      HoraInicial <= (SELECT CURRENT_TIME FROM RDB$DATABASE) and
      HoraFinal >=   (SELECT CURRENT_TIME FROM RDB$DATABASE)
Al parecer el Error se debe al formato de Fechas que le estoy dando, pero ya los puse entre comillas pero no marca el mismo error pero señalandome la fecha. Que estará pasando ó que formato de fecha se le da a FireBird 1.50
para que me muestre el registro????
Los campos Fechas los tengo de tipo DATE y los de Horas de tipo TIME.
Cualquier comentario se los agradezco.

AGAG4 21-09-2004 21:31:12

oki
 
Ya le encontre al problema lo que pasa es que tenía mal en formato de fecha, lo tenía así 21/09/04 en vez de tenerlo así 21.09.04 por lo que quedo así:
Código SQL [-]
Select *from TFAC_PROMOCIONES
where sucursal=1 and cliente=1 and
FECHAINICIAL <='21.09.2004' and
FECHAFINAL   >='21.09.2004' and
HoraInicial <= (SELECT CURRENT_TIME FROM RDB$DATABASE) and
HoraFinal >= (SELECT CURRENT_TIME FROM RDB$DATABASE)

Gracias de Antemano.

guillotmarc 21-09-2004 21:36:07

¿ Que servidor SQL utilizas ?

En IB/FB tiene que ser '09/21/2004' (mes, dia, año).

Saludos.

guillotmarc 21-09-2004 21:38:31

Ademas las subconsultas no són necesarias.

Esto es lo mismo :

Código SQL [-]
Select *from TFAC_PROMOCIONES
where sucursal=1 and cliente=1 and
FECHAINICIAL <='09/21/2004' and
FECHAFINAL   >='09/21/2004' and
HoraInicial <= current_time and
HoraFinal >= current_time

Saludos.

AGAG4 21-09-2004 22:19:05

Que raro
 
Uso FireBird 1.50, con IBX 7.08, Delphi 7 , lo que paso también es que
le pase DIA+MES+AÑO en vez de MES+DIA+AÑO, es por eso que no me funcionaba, pero también me funcionó así '21.09.2004'. De antemano Muchas Gracias.


La franja horaria es GMT +2. Ahora son las 18:17:11.

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