Modelado físico avanzado relacional de bases de datos
Las funciones de cadena en SQL permiten manipular y transformar valores de texto dentro de consultas. A continuación, veremos las funciones más utilizadas en SQLite, PostgreSQL y MySQL.
1. CONCAT() - Concatenación de Cadenas
CONCAT() une dos o más cadenas en una sola.
Ejemplo:
1SELECT CONCAT(nombre, ' ', apellido) AS nombre_completo 2FROM empleados;
2. LENGTH() - Longitud de una Cadena
Devuelve el número de caracteres en una cadena.
Ejemplo:
1SELECT LENGTH(nombre) FROM empleados; 2--👉 Si quieres el número de caracteres, usa CHAR_LENGTH(nombre)
3. UPPER() y LOWER() - Conversión a Mayúsculas y Minúsculas
UPPER()convierte a mayúsculas.LOWER()convierte a minúsculas.
Ejemplo:
1SELECT 2 UPPER(nombre) AS nombre_mayuscula, 3 LOWER(apellido) AS apellido_minuscula 4FROM empleados;
4. SUBSTRING() - Extraer Parte de una Cadena
Extrae una porción de una cadena de texto.
Ejemplo:
Extrae el prefijo del telefono
1SELECT SUBSTRING(telefono, 1, 3) FROM empleados;
5. TRIM(), LTRIM(), RTRIM() - Eliminar Espacios
TRIM()elimina espacios al inicio y al final.LTRIM()elimina espacios al inicio.RTRIM()elimina espacios al final.
Ejemplo:
1SELECT TRIM(' Hola '); 2SELECT LTRIM(' Hola '); 3SELECT RTRIM(' Hola ');
6. REPLACE() - Reemplazar Subcadenas
Reemplaza una subcadena dentro de otra cadena.
Ejemplo:
1SELECT REPLACE(nombre, 'a', 'o') FROM empleados;
Esto cambia todas las ‘a’ por ‘o’ en la columna nombre.
7. POSITION() - Posición de una Subcadena (Solo PostgreSQL y MySQL)
Devuelve la posición de una subcadena dentro de otra.
Ejemplo:
1SELECT POSITION('a' IN nombre) FROM empleados;
8. LEFT() y RIGHT() - Extraer Caracteres desde la Izquierda o Derecha
LEFT()extrae los primeros N caracteres.RIGHT()extrae los últimos N caracteres.
Ejemplo:
1SELECT LEFT(nombre, 3), RIGHT(nombre, 3) 2FROM empleados;
Ejemplo:
extraer los dominios de las direcciones de correo (lo que está después de @)
1SELECT SUBSTRING(email, LOCATE('@', email) + 1) AS dominio 2FROM empleados;
9. SUBSTRING_INDEX() y SPLIT_PART() - Divide la cadena y extrae una parte
Ejemplo:
1SELECT email, SUBSTRING_INDEX(email, '@', -1) AS dominio 2FROM empleados;