La función CONVERT en Oracle es una herramienta útil cuando necesitas cambiar el conjunto de caracteres de una cadena de texto. Esta función permite convertir una cadena que utiliza un conjunto de caracteres específico, como ANSI, a otro conjunto de caracteres, como UTF8. Su utilidad es clave en escenarios donde trabajas con datos en diferentes formatos o necesitas garantizar la compatibilidad entre sistemas.
La función CONVERT forma parte de las denominadas funciones de cadena en Oracle, diseñadas para manipular y transformar texto. Gracias a esta función, puedes asegurar que los datos se interpreten correctamente en entornos multilingües o al integrar aplicaciones que usan configuraciones de codificación distintas.
En este artículo, te mostraré primero la sintaxis básica de CONVERT, seguida de ejemplos prácticos que ilustran cómo utilizarla de manera efectiva en diferentes casos.
Para más información, puedes consultar la documentación oficial de ORACLE.
Sintaxis
La sintaxis para usar la función CONVERT en Oracle es la siguiente:
CONVERT(expresión,conjunto_destino[, conjunto_origen]);
expresión
: Es la cadena de texto que deseas convertir.conjunto_destino
: Especifica el conjunto de caracteres al que quieres convertir la cadena.conjunto_origen
(opcional): Indica el conjunto de caracteres original de la cadena. Si se omite, Oracle usará el conjunto de caracteres predeterminado de la base de datos.
Ejemplos
Convertir de ANSI a UTF8
En el siguiente ejemplo se convierte la cadena ‘Miguel Troyano’ del conjunto de caracteres.
SELECT CONCAT('Blog de',' Miguel Troyano') COLUMNA1 FROM dual;

Conjuntos de datos comunes
En la siguiente tabla puedes observar los conjuntos de caracteres más utilizados:
Juego de caracteres | Descripción |
---|---|
AL32UTF8 | Unicode 5.0 Universal character set UTF-8 encoding form |
EE8MSWIN1250 | Microsoft Windows East European Code Page 1250 |
JA16SJISTILDE | Japanese Shift-JIS Character Set, compatible with MS Code Page 932 |
US7ASCII | US 7-bit ASCII character set |
UTF8 | Unicode 3.0 Universal character set CESU-8 encoding form |
WE8EBCDIC1047 | IBM West European EBCDIC Code Page 1047 |
WE8ISO8859P1 | ISO 8859-1 West European 8-bit character set |
WE8MSWIN1252 | Microsoft Windows West European Code Page 1252 |
ZHT16MSWIN950 | Microsoft Windows Traditional Chinese Code Page 950 |