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
