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
Gracias por la función
ResponderEliminar