jueves, 30 de mayo de 2013

Crear una función en Informix para reemplazar acentos y caracteres especiales

Sencillo script para crear una función de usuario dentro de Informix, hay que tener en cuenta que a partir de la versión 10 de Informix ya no hay soporte para el comando CREATE FUNCTION, por eso este código funciona a partir de la versión 10+.

/* Editar este archivo con codificación UTF-8 */

/* DROP PROCEDURE mibasededatos:fun_quitar_acentos; */


CREATE PROCEDURE mibasededatos:fun_quitar_acentos (CADENA lvarchar)
RETURNING lvarchar;
  DEFINE TempString lvarchar;
  LET TempString = CADENA;
  
  LET TempString =  REPLACE(TempString, 'à', 'a');
  LET TempString =  REPLACE(TempString, 'è', 'e');
  LET TempString =  REPLACE(TempString, 'ì', 'i');
  LET TempString =  REPLACE(TempString, 'ò', 'o');
  LET TempString =  REPLACE(TempString, 'ù', 'u');
  LET TempString =  REPLACE(TempString, 'À', 'A');
  LET TempString =  REPLACE(TempString, 'È', 'E');
  LET TempString =  REPLACE(TempString, 'Ì', 'I');
  LET TempString =  REPLACE(TempString, 'Ò', 'O');
  LET TempString =  REPLACE(TempString, 'Ù', 'U');
  LET TempString =  REPLACE(TempString, 'ñ', 'n');
  LET TempString =  REPLACE(TempString, 'Ñ', 'n');
  LET TempString =  REPLACE(TempString, 'á', 'a');
  LET TempString =  REPLACE(TempString, 'é', 'e');
  LET TempString =  REPLACE(TempString, 'í', 'i');
  LET TempString =  REPLACE(TempString, 'ó', 'o');
  LET TempString =  REPLACE(TempString, 'ú', 'u');
  LET TempString =  REPLACE(TempString, 'Á', 'A');
  LET TempString =  REPLACE(TempString, 'É', 'E');
  LET TempString =  REPLACE(TempString, 'Í', 'I');
  LET TempString =  REPLACE(TempString, 'Ó', 'O');
  LET TempString =  REPLACE(TempString, 'Ú', 'U');
  LET TempString =  REPLACE(TempString, 'ç', 'c');
  LET TempString =  REPLACE(TempString, 'Ç', 'C');
 
  RETURN TempString;
END PROCEDURE;

/* comprobaciones */
execute procedure fun_quitar_acentos('Prueba: áéíóú Nñ ÁÉÍÓÚ');

SELECT descripcion, fun_quitar_acentos(descripcion) AS desc_sin_acentos FROM mi_tabla ORDER BY descripcion;

Este script va a crear una función de usuario dentro de Informix

Espero que les sea de utilidad

No hay comentarios:

Publicar un comentario

Datos personales

Mi foto
Podrás encontrar códigos recursos y artículos sobre PHP, JavaScript, jQuery, MooTools, Ajax, CSS, HTML, UML, RUP, AUP, XP (eXtreme Programming), Six-Sigma, CMMI, FrameWorks, Zend Framework, Magento, CodeIgniter, CakePHP, Joomla 1.5, Doctrine, Active Record, ORM, POO, MVC, MySql, PostgreSql. Este espacio está destinado a ayudar y compartir un poco de lo mucho que he recibido de la comunidad en la Red.