Compruebe si la cadena contiene ciertos datos en MySQL

Preet Sanghavi 30 enero 2023
  1. Verifique si la cadena contiene ciertos datos en MySQL usando la función LOCATE en MySQL
  2. Verifique si la cadena contiene ciertos datos en MySQL usando la función INSTR en MySQL
  3. Verifique si la cadena contiene ciertos datos en MySQL usando el operador LIKE en MySQL
Compruebe si la cadena contiene ciertos datos en MySQL

En este tutorial, nuestro objetivo es explorar diferentes métodos para verificar que una cadena esté contenida en una tabla en MySQL.

Veremos las siguientes técnicas en MySQL.

  • Función INSTR
  • Función LOCATE
  • Operador LIKE

Sin embargo, antes de comenzar, creamos un conjunto de datos ficticio para trabajar. Aquí creamos una tabla, student_details, junto con algunas filas en ella.

-- 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 junto con filas con el nombre y apellido del estudiante. Para ver las entradas en los datos, usamos el siguiente código.

SELECT * FROM student_details;

El código anterior daría el siguiente resultado.

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

Apuntemos a encontrar todos los estudiantes que contienen la palabra Parker en su apellido.

Verifique si la cadena contiene ciertos datos en MySQL usando la función LOCATE en MySQL

La función de localización en MySQL generalmente toma 2 argumentos, como LOCATE(substr, str). Aquí, substr es la subcadena que se pasa como primer argumento, y str es la cadena que se pasa como segundo argumento. La salida de la función LOCATE es la primera fila con la aparición de la cadena que se pasa como argumento. Para ver esta función en acción, eche un vistazo al código a continuación.

-- finding the word 'Park' from the table where the last name of the student is Park.
SELECT * FROM student_details WHERE LOCATE('Park', stu_lastName) > 0 ;

El código anterior daría el siguiente resultado:

stu_id	stu_firstName	stu_lastName
6	      Sachin	      Parker

Verifique si la cadena contiene ciertos datos en MySQL usando la función INSTR en MySQL

Similar a la función LOCATE, la función INSTR, INSTR(str, substr), toma 2 argumentos. Sin embargo, esta función devuelve el valor de índice de la primera vez que la cadena aparece en la subcadena pasada como parámetros. Aquí, str es la cadena pasada como primer argumento, y substr es la subcadena pasada como segundo argumento. Para ver esta función en acción, eche un vistazo al código a continuación.

-- finding the word 'Park' from the table where the last name of the student is Park.
SELECT * FROM student_details WHERE INSTR(stu_lastName , 'Parker') > 0;

El código anterior daría el siguiente resultado.

stu_id	stu_firstName	stu_lastName
6	      Sachin	      Parker

Nota: La forma en que se pasan los argumentos en las funciones LOCATE(substr,str) e INSTR(str,substr) es diferente.

Verifique si la cadena contiene ciertos datos en MySQL usando el operador LIKE en MySQL

Otra alternativa para encontrar la existencia de una cadena en sus datos es utilizar LIKE. Este operador se usa junto con la cláusula WHERE para buscar una cadena en particular. Para ver esta técnica en acción, eche un vistazo al código a continuación.

-- finding the word 'Park' from the table where the last name of the student is Parker.
SELECT * FROM student_details WHERE stu_lastName LIKE 'Parker' ;

El código anterior volvería a dar el siguiente resultado.

stu_id	stu_firstName	stu_lastName
6	      Sachin	      Parker

Además, un %, también conocido como comodín, también se utiliza junto con el operador LIKE. Este comodín, como sugiere el nombre, representa ninguno, uno o varios caracteres en su lugar. Para ver este comodín en acción, eche un vistazo al código a continuación.

-- finding the student with last name ending in 'arker' from the table.
SELECT * FROM student_details WHERE stu_lastName LIKE '%arker' ;

El código anterior volvería a dar el siguiente resultado.

stu_id	stu_firstName	stu_lastName
6	      Sachin	      Parker

Por lo tanto, con la ayuda de las tres técnicas anteriores, podemos encontrar de manera eficiente la existencia de una cuerda a partir de una mesa.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Artículo relacionado - MySQL Query