On Mon, Aug 2, 2010 at 1:03 PM, Miguel Beltran R. <[email protected]> wrote:
> Hola Lista,
>
> Tengo un servidor usando la versión 8.2, Ya se que es viejita pero no
> necesito mucho, son 100,000 registros nuevos al año.
>
> Bueno pasando al problema, quise hacer el siguiente indice pero marco error
>
> CREATE INDEX folio_folio_num_index
>   ON folio
>   USING btree
>   (CASE
>             WHEN (strpos(folio.folio::text, '-'::text) - 1) > 0
>             THEN substr(folio.folio::text, 1, strpos(folio.folio::text,
> '-'::text) - 1)::bigint
>             ELSE folio.folio::bigint
>         END );
>
> el error fue
> ERROR:  syntax error at or near "CASE"
> LINE 8:   (CASE
>            ^
>

no creo que puedas usar un CASE asi en el index... pero podrias poner
el case en una funcion immutable y crear el indice sobre la llamada a
la funcion

-- 
Jaime Casanova         www.2ndQuadrant.com
Soporte y capacitación de PostgreSQL
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a