Qué significa
CAST solicita al motor que interprete o represente una expresión mediante otro tipo. La sintaxis portable es CAST(expresión AS tipo). La conversión puede ser exacta, perder precisión o fallar si el valor no es compatible con el tipo de destino.
Qué problema resuelve
Las bases de datos distinguen entre números, textos, fechas y otros tipos. Dos valores que se ven iguales pueden comportarse de manera distinta: el texto “42” no siempre se trata como el número 42. Una conversión explícita hace visible la intención y evita depender de conversiones automáticas poco claras.
Apréndelo en contexto: este término se relaciona directamente con Funciones de texto y fechas.
Sintaxis básica
CAST(expresión AS tipo)Ejemplo guiado
| texto_importe |
|---|
| 189 |
Lee primero la consulta e intenta predecir el resultado:
SELECT CAST('189' AS INTEGER) AS importe_numerico;| importe_numerico |
|---|
| 189 |
Qué ocurre paso a paso
- La expresión de origen es el texto
'189'. AS INTEGERsolicita un número entero.- El alias describe el resultado de la conversión.
- CAST no modifica ninguna columna almacenada: transforma el valor dentro de esa expresión.
Error frecuente
Confiar en que cualquier texto puede convertirse
SELECT CAST('ciento ochenta y nueve' AS INTEGER);El texto no utiliza una representación numérica reconocible. En muchos motores la consulta produce un error; en otros contextos puede devolver un valor inesperado. Antes de convertir datos reales, valida su formato y decide cómo tratar registros defectuosos.
Mini práctica
Aplica el concepto
Convierte el texto “35” a un entero y multiplícalo por 2. Llama total al resultado.
Solución razonada
SELECT CAST('35' AS INTEGER) * 2 AS total;La conversión ocurre antes de la multiplicación. El resultado esperado es 70. Aunque algunos motores realizarían una conversión implícita, escribir CAST comunica mejor la intención y facilita detectar datos incompatibles.
Compatibilidad y matices
CAST es la forma estándar más portable, pero los nombres y capacidades de los tipos de destino varían. PostgreSQL también ofrece la abreviatura expresión::tipo, que no debe utilizarse en ejemplos destinados a múltiples motores. MySQL limita los tipos aceptados por CAST y otros motores aplican reglas diferentes de redondeo, truncamiento o error.
Recuerda
- Convierte una expresión a un tipo de datos indicado para que pueda compararse, calcularse o presentarse de otra manera.
- Comprueba siempre los datos de entrada y el resultado esperado.
- Cuando el comportamiento dependa del motor, consulta su documentación oficial.
Conceptos relacionados
Fuentes técnicas consultadas
Estas fuentes se utilizaron para comprobar la definición y los matices técnicos. El contenido de esta página está redactado de forma original para el aprendizaje.