Tema SQL
CONV() (MySQL / MariaDB)
Convierte números entre bases de numeración (2–36) como cadena. Útil para máscaras de bits, colores hex o depuración de enteros grandes.
Descripción
CONV(n, base_origen, base_destino) interpreta n como cadena o número según contexto y devuelve cadena en la base destino. Para enteros muy grandes usa representación string desde el principio. No es para conversión de fechas ni zonas. En otros motores suele replicarse con matemáticas o funciones de bit. Errores si la base está fuera de rango o dígitos inválidos.
Estructura general
Forma habitual de la sentencia: orden de cláusulas, qué parte filtra, agrupa o proyecta columnas, y qué devuelve el motor. Cópiala como plantilla y sustituye nombres por tus tablas reales.
CONV(n, base_desde, base_hasta)
Componentes
Cada componente tiene un papel concreto en la ejecución lógica de la sentencia. Léelos en orden: así entiendes qué puedes omitir, qué es obligatorio y qué expresiones son válidas en cada sitio según tu motor.
- Rango de bases
- 2 a 36 con dígitos y letras.
- Tipos
- Resultado textual; convierte a entero si procede con CAST.
Ejemplos
Ejemplo 1
SELECT CONV(255, 10, 16) AS hex_ff;
SELECT CONV('1010', 2, 10) AS decimal;
Ejemplo 2
SELECT CONV('deadbeef', 16, 10) AS desde_hex;
Los ejemplos son ilustrativos. En producción usa consultas parametrizadas (prepared statements), revisa índices y aplica el principio de menor privilegio en cuentas de base de datos.