Tema SQL
Funciones escalares (texto, número, fecha)
Transformar valores por fila: UPPER, SUBSTRING, ROUND, fechas actuales, etc.
Descripción
Las funciones escalares operan sobre cada fila y devuelven un valor. Los nombres exactos cambian: LEN vs LENGTH, GETDATE vs NOW (manual secc. 10.2-10.4).
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.
-- Ilustrativo (nombres varían por motor)
UPPER(col), SUBSTRING(col, 1, 10)
ROUND(col, 2), ABS(col)
CURRENT_TIMESTAMP, EXTRACT(YEAR FROM fecha)
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.
- Texto
- TRIM, REPLACE, CONCAT, SUBSTRING…
- Numérico
- ROUND, FLOOR, CEILING, ABS, MOD…
- Fecha/hora
- NOW, CURRENT_DATE, EXTRACT, diferencias según dialecto.
Ejemplos
Ejemplo 1
SELECT nombre,
UPPER(TRIM(nombre)) AS nombre_norm,
ROUND(salario, 0) AS salario_red
FROM empleados;
Ejemplo 2
SELECT LENGTH(TRIM(' x ')) AS len;
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.