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)
-   -   Duda con execute statement i Date (https://www.clubdelphi.com/foros/showthread.php?t=8463)

celades 23-03-2004 18:50:01

Duda con execute statement i Date
 
Hola

Tengo un procedure y no se como hacermelo con las fechas con varchar no tengo problemas pero con date lo he probado con cast y de muchas formas y no me tira .

El procedure es mas largo pero he puesto la parte del problema

ALTER PROCEDURE S_CALCUL_BALANC_COMPROBA_FIRE (
DATA_INICIAL DATE,
DATA_FINAL DATE)
returns (saldo_inicial double precision)
as
declare variable P_DATA VARCHAR(500);
begin
P_DATA=' A.DATA >='||:DATA_INICIAL;

EXECUTE STATEMENT
'SELECT SUM(A.DEURE) FROM AGENDA_COMPTES A
JOIN COMPTES C ON C.CODI_EMPRESA=A.CODI_EMPRESA AND A.EXERCICI=C.EXERCICI AND C.CODI=A.COMPTE WHERE '||P_DATA
INTO :saldo_inicial;
suspend;
end

Saludos y Gracias

guillotmarc 23-03-2004 22:04:34

Hola.

Imagino que te falta el delimitador de fecha, en la cadena SQL que construyes.

Prueba con :

Código:

P_DATA = ' A.DATA >=''' || :DATA_INICIAL || '''';
Nota: dos comillas dentro de una cadena, se sustituiran por una comilla en el resultado.

Aunque personalmente habría utilizado un CAST.

Código:

P_DATA = ' A.DATA >=''' || cast(:DATA_INICIAL as varchar(10)) || '''';
Salutacions.

celades 24-03-2004 08:08:16

Gracias

Funciona perfectamente como dices tanto con cast como sin


La franja horaria es GMT +2. Ahora son las 10:36:30.

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