Subcadena en MySQL
En este tutorial, nuestro objetivo es explorar cómo obtener la subcadena de una columna en MySQL.
Se vuelve necesario que los desarrolladores de bases de datos envíen informes de datos en formatos más cortos debido a los límites de almacenamiento. También se requieren subcadenas de la cadena real cuando se intenta extraer datos o se obtiene solo la información relevante de cadenas largas.
MySQL nos proporciona la función SUBSTR()
que se encarga de esta operación. La función SUBSTR()
toma tres argumentos: la string
, la position
y la length
.
La string
representa la cadena larga que debe modificarse. La posición
indica dónde debe modificarse la cadena, y la length
indica el número total de caracteres necesarios en nuestra cadena de salida.
Vamos a entender cómo funciona este método. Pero antes de comenzar, debemos crear un conjunto de datos ficticio mediante la creación de una tabla de student_details
con algunas filas.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
La consulta anterior crea una tabla con filas con los nombres y apellidos de los estudiantes. Para ver las entradas en los datos, usamos el siguiente código.
SELECT * FROM student_details;
Producción :
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Tratemos de truncar los apellidos de los alumnos. Suponiendo que necesitamos acortar el apellido para producir las direcciones de correo electrónico de nuestros estudiantes, los apellidos pueden contener solo los primeros tres caracteres.
Función SUBSTR
en MySQL
La sintaxis básica de la función SUBSTR()
es la siguiente.
SUBSTR(string, position, length)
Intentemos truncar nuestra columna stu_lastName
de la tabla student_details
. Se puede hacer usando la consulta a continuación.
select SUBSTR(stu_lastName, 1, 3) as shortened_lastNames
from student_details
El código de arriba da uso de los apellidos abreviados de los estudiantes.
Producción :
shortened_lastNames
San
Joh
Bro
Jos
Sha
Par
Mil
Nota: En el código anterior, usamos el alias shortened_lastNames
con la palabra clave AS
en MySQL.
Por lo tanto, con la ayuda de la función SUBSTR()
, podemos dividir eficientemente una cadena y manipular los componentes de una cadena para generar alternativas en MySQL.