From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | "Jaime Casanova" <systemguards(at)gmail(dot)com>, Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>, "Lista Ayuda Pgsql" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Hacer ILIKE '%$1%' en función |
Date: | 2006-03-28 03:11:27 |
Message-ID: | c2d9e70e0603271911i4a1262acsdce50022359389a8@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 3/27/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> Jaime Casanova escribió:
> > On 3/26/06, Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar> wrote:
>
> > > > Esto deberia funcionarte, lo probe en una funcion mas pequeña y
> > > > simple pero la idea es la misma:
> > > >
> > > > CREATE OR REPLACE FUNCTION "selectDocenteBuscado"(varchar)
> > > > RETURNS SETOF persona AS
> > > > $$
> > > > SELECT p.* FROM persona p, "personaGrupo" pg, grupo g
> > > > WHERE g.nombre = 'Docentes'
> > > > AND g.id = pg.grupo_id
> > > > AND pg.persona_id = p.id
> > > > AND (p.apellido ILIKE '%' || $1 || '%' OR p.nombre ILIKE '%'
> > > > || $1|| '%') ORDER BY p.apellido $$ LANGUAGE sql IMMUTABLE SECURITY
> > > > DEFINER;
> > >
> > > Excelente!. Efectivamente así funcionó!. Te agradezco y te admiro Jaime que a
> > > esas horas (01:47:09) estés trabajando desinteresadamente por darnos una
> > > ayuda. Un gran saludo y nuevamente muchísimas gracias.
>
> Hmm, interesante. Aparentemente el problema es que el parser no hace
> expansion de variables dentro de un literal de cadena. No me queda
> totalmente claro si esto es un bug o no ... incluso, en caso de serlo,
> si es posible corregirlo. Mi primera impresion es que no (a menos que
> se incurriera en un costo muy alto, procesando todos los literales de
> cadena a ver si hay que hacer expansion ...)
>
no creo que sea un bug, de seguro es un comportamiento *muy* poco intuitivo...
no creo que sea correcta la expansion dentro de literales, al menos no
sin usar caracteres de escape, despues de todo que pasaria si yo de
hecho estoy devolviendo un texto que que incluya la cantidad monetaria
$1 (un dolar)...
--
Atentamente,
Jaime Casanova
"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz
From | Date | Subject | |
---|---|---|---|
Next Message | Kelly González Enríquez | 2006-03-28 16:34:35 | Valor-Maximo |
Previous Message | Alvaro Herrera | 2006-03-28 01:18:07 | Re: frecuencia autovacuum |