Buenas, al realizar estas funciones, tambien se deberia crear un indice con la funcion para optimizar la busqueda????????
El 22 de septiembre de 2010 01:37, José Manuel Ruiz < [email protected]> escribió: > Muchas gracias, añadiré tu blog para seguir aprendiendo. > > La función: > > *CREATE OR REPLACE FUNCTION sp_ascii(character varying)** > **RETURNS text AS** > **$BODY$** > **SELECT TRANSLATE > ($1, > 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',** > **'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC');** > **$BODY$** > **LANGUAGE 'sql';* > > Hace justo lo que pretendía. > > SELECT * FROM nombres WHERE sp_ascii(apellido1) ILIKE sp_ascii('martin'); > > Ahora me devuelve, los Martin, martin, Mártin, Martín, MARTÍN... > > Pero aún así esto hará que modifique la aplicación para que las peticiones > de datos sean correctas. ¿Se os ocurre alguna forma de mejorar esto? > > Yo estoy pensando en hacer vistas sobre las tablas haciendo la conversión a > SIN ACENTOS de todas las columnas, pero aún así tendría que modificar mi > aplicación para que busque en v_nombres en lugar de en la tabla nombres. > > Alguna idea mejor para no tener que modificar la aplicación. > > Gracias por la ayuda. > > El 21 de septiembre de 2010 21:38, Román Mussi > <[email protected]>escribió: > >> Hola, >> Escribí algo en mi blog que por ahí te resulta útil. Te paso el link, >> >> http://romanmussi.blogspot.com/2009/12/busquedas-por-campos-de-texto-en.html >> Saludos >> Román >> >> ----- Original Message ----- >> *From:* José Manuel Ruiz <[email protected]> >> *To:* [email protected] >> *Sent:* Tuesday, September 21, 2010 12:59 PM >> *Subject:* [pgsql-es-ayuda] Búsqueda de palabras con Acentos >> >> Buenas. >> >> Tengo un problema con una base de datos PostgreSQL con codificación >> UNICODE que da soporte a una aplicación en PHP. >> >> Todo funcionaba correctamente hasta que me pidieron que una búsqueda de >> por ejemplo "Martin" debería devolver los registros "Martin" y también los >> "Martín". >> >> ¿Cómo puedo solucionar esto? Ya utilizo ilike en lugar de like para que no >> distinta entre "Martin" y "martin". >> >> No me preocupaba hasta que me dí cuenta de que MySQL con codificación >> utf8_general lo hace sin problemas. ¿Hay alguna solución para esto? >> >> -- >> "Comparte lo que sabes, aprende lo que no sepas" >> Todo por el conocimiento libre >> >> Linux user number 441469 >> >> Me gustaría cambiar el mundo, pero no tengo el código fuente ! >> >> Me limito a dejar mi granito de arena en >> http://blog.josemanuelruizbaena.com >> >> > > > -- > "Comparte lo que sabes, aprende lo que no sepas" > Todo por el conocimiento libre > > Linux user number 441469 > > Me gustaría cambiar el mundo, pero no tengo el código fuente ! > > Me limito a dejar mi granito de arena en > http://blog.josemanuelruizbaena.com > -- Miguel Panuera, Student of the School of Computer Science, San Pablo Catholic University, Arequipa, Peru, mpanuera[AT]gmail.com
