Skip site navigation (1) Skip section navigation (2)

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:50:30
Message-ID: 4B1138B6.1070201@terra.es (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Este es el campo por el cual hace la busqueda, no debe devoler registros como tal, sino la 
cantidad de registros que empiecen por la letra "x", es letra es la que le paso a la function 
desde mi programa, es decir:

select cont_reg( '" & cadena_que_le_paso & "')

cadena_que_le_paso procede de un textbox, que normalmente será la inicial del campo apellido, 
puede ser 'P', puede ser 'S', etc, si hay mas de 500 registros, empezaría por esa letra+ una 
segunda letra, o sea, 'PE' ó 'PI', o la combinación que sea.

estos son los datos en los que debe mirar, en el campo apell
"PIPOS"
"UNO"
"LOPEZ"
"POPO"
"UNO"
"PEPET"
"AFONSO"
"JOSEFA"
"SANCHA"
"ESTEVEZ"
"BUCK"
"BELLON"
"GARCIA"

> El día 28 de noviembre de 2009 11:28, suso <jlcubas(at)terra(dot)es> escribió:
>> 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 ||
>> "%';
> 
> la cadena contiene ' ?
> 
> 
> 
>> 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?
> 
> Aún esperamos el registro ;)
> 
> 
> 


In response to

Responses

pgsql-es-ayuda by date

Next:From: Emanuel Calvo FrancoDate: 2009-11-28 15:03:33
Subject: Re: like no funciona
Previous:From: Emanuel Calvo FrancoDate: 2009-11-28 14:35:25
Subject: Re: like no funciona

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group