El día 28 de noviembre de 2009 15:16, suso <[email protected]> escribió:
> Emanuel Calvo Franco escribió:
>>
>> El día 28 de noviembre de 2009 14:54, suso <[email protected]> escribió:
>>>
>>> Hola Cesar, probé tu función, que aunque devuelve todos los registros
>>> coincidentes, no la cantidad exclusivamente de registros que puede haber,
>>> mi
>>> "necesidad" de devolver cantiddad, es pq no sé cuántos registros puede
>>> traer
>>> esa consulta(puede tener 1000 o 2000, para carga de red no sé si s
>>> demasiado, debdio a eso, no me gustaría que trajera más de 500), pq
>>> sabiendo
>>> la cantidad, si es mayor de 500, me traigo sólo los 500, y los demás para
>>> una futura consulta (si es que es necesario).
>>> No sé si me explico.
>>> Aún así, adapté la consulta de like según me pasaste en el ejemplo, pero
>>> me
>>> sigue trayendo 0, es decir, a mí no me funciona, lo dicho, soy gafe:(
>>> No sé si lo estoy haciendo mal, o no se puede lo que yo necesito.
>>>  select COUNT(*) INTO devuel  from pacientes where apell LIKE UPPER('||
>>> quote_literal($1) ||');
>>> Me deveulve 0
>>
>>
>>
>> DROP TABLE prueba;
>> CREATE TABLE prueba
>> AS
>
> Este select concretamente, que hace,pq me da error de sintaxis en esta línea
> precisamente

Este select en realidad es parte de la sintaxis de  'CREATE TABLE'.
Simplemente lo use
en conjunto con el UPDATE para generar un set de pruebas con datos
similares a los tuyos.

>>
>> SELECT ('{PEDRO,JUAN,ROBERTO,
>>        PEPE}'::text[])[round(random()*3+1)] as apelli
>>        FROM generate_series(1,20);
>>
>> UPDATE prueba SET apelli = quote_literal(apelli);
>>

Este es el select que interesa:

>> SELECT * FROM
>> prueba
>> WHERE
>> apelli like  ( $e$'$e$ || 'PE' || '%')::text;
>>





-- 
              Emanuel Calvo Franco
             DBA at:  www.siu.edu.ar
        www.emanuelcalvofranco.com.ar
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a