Re: like no funciona

From: suso <jlcubas(at)terra(dot)es>
To: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
Cc: PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: like no funciona
Date: 2009-11-28 14:28:01
Message-ID: 4B113371.6050100@terra.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Emanuel
> 2009/11/27 suso <jlcubas(at)terra(dot)es>:
>> Hola de nuevo, por favor, a ver si alguien me puede decir pq no funciona
>> ésta consulta, incluso si la ejecuto dede pgadmin, postgres 8.4 y windows
>> xp.
>>
>> select count(*) into devuel from clientes where apell like '" || apelli ||
>> "%'
>>
>> select count(*) into devuel from clientes where apell like 'P%'
>>
>> Esto si funciona, si hago su "equivalente" desde vb6 va sin problemas.
>> Otros colisteros me han dicho variantes, pero ninguna va.
>> por ejemplo:
>>
>> select count(*) into devuel from clientes where apell like '" & apelli & "%'
>> select count(*) into devuel from clientes where apell like ' & apelli & %'
>> select count(*) into devuel from clientes where apell like ' apelli & %'
>> Este tipo de cosas
>>
>
> Si apelli es una columna, hay algo mal en la composición de la expresión.
apelli es una valor que le paso a la function, voy a poner el código completo

CREATE OR REPLACE FUNCTION cont_reg(apelli character varying)
RETURNS integer AS
$BODY$

DECLARE
devuel integer;
BEGIN
if apelli is not null THEN
select count(*) into devuel from pacientes where apell like '" || apelli || "%';
end if;

if found then
return devuel;
else
return 0;
end if;
END;

$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION cont_reg(character varying) OWNER TO postgres;
>
> Podrías mostar el registro que supuestamente te debería devolver?

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ernesto Quiñones 2009-11-28 14:29:30 Re: Recopilacion de casos de exito de migraciones a PostgreSQL en el area
Previous Message Emanuel Calvo Franco 2009-11-28 14:24:17 Re: like no funciona