Sinon essaye avec un N avant le '% : un N ? c'st a dire ?
sinon entre temps j'ai essaye avec les fontions rtrim et ltrim, mais c'est pareil.
je travaille en firebird et je me demande s'il ne rajoute pas des espaces à la fin pour atteindre le nombre de caractères exact de la variable.
( je sais qu'en firebird, il enregistre les champs dans sa base comme ca).
Je t'envoie ma proc se sera plus simple.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CREATE PROCEDURE LG_PREPARATION(
ETABLISSEMENT CHAR(10),
DATE_PREVUE TIMESTAMP,
DATE_PREVUE2 TIMESTAMP,
TRANSPORTEUR CHAR(10)
) RETURNS (
LG_RGP_ETABLISSEMENT CHAR(10),
LG_RGP_TYPE_DOC CHAR(10),
LG_RGP_NUM_DOC CHAR(15),
)
AS BEGIN
FOR SELECT LG_RGP_ETABLISSEMENT, LG_RGP_TYPE_DOC, LG_RGP_NUM_DOC,
FROM LG_REGROUPEMENT
WHERE LG_RGP_ETABLISSEMENT LIKE :ETABLISSEMENT
AND LG_RGP_CODE_ETAT LIKE :CODE_ETAT
AND LG_RGP_DATE_PREVUE BETWEEN :DATE_PREVUE
AND :DATE_PREVUE2
AND LG_RGP_TRANSPORTEUR LIKE :TRANSPORTEUR
ORDER BY LG_RGP_NUM_DOC DESC
INTO :LG_RGP_ETABLISSEMENT, :LG_RGP_TYPE_DOC, :LG_RGP_NUM_DOC
DO SUSPEND;
END
END
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
je lui demande :
select * from lg_preparation('VERONIQUE%','01-01-1970','12-31-2999','%'); -> il me renvoie mes lignes
select * from lg_preparation('%','01-01-1970','12-31-2999','%'); -> il ne me renvoie rien