HOWTO · MySQL

Encuentra valor en un conjunto en la base de datos MySQL

Este tutorial demuestra cómo verificar la ocurrencia de un valor o encontrar un valor en un conjunto en una base de datos MySQL.

En este tutorial, nuestro objetivo es explorar cómo verificar la ocurrencia de un valor o encontrar un valor en un conjunto en una base de datos MySQL.

Esto se puede hacer con la ayuda de la función IN() o la función FIND_IN_SET(). Exploremos el uso de la función FIND_IN_SET() en la base de datos MySQL.

La función FIND_IN_SET() toma principalmente dos argumentos. El primer argumento es el valor a buscar, y el segundo es el conjunto donde se busca el valor.

Esto se puede ilustrar como FIND_IN_SET("search", {search_here}). Intentemos usar esta función en nuestro servidor MySQL.

Crear una tabla en MySQL

Antes de comenzar, crearemos un conjunto de datos ficticio para trabajar. Aquí crearemos una tabla, student_details, junto 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 que contienen los nombres y apellidos de los estudiantes. 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

Use FIND_IN_SET() para encontrar un valor en un conjunto en una base de datos MySQL

Hemos creado con éxito nuestra tabla student_details y la hemos visualizado. Tratemos de encontrar un nombre particular en el conjunto de stu_firstName.

La sintaxis para llevar a cabo la tarea mencionada anteriormente se puede ilustrar de la siguiente manera:

SELECT FIND_IN_SET("value_to_be_searched", {set});

Aquí, como podemos ver, el término value_to_be_searched será reemplazado por el valor real que necesitamos buscar en nuestra tabla.

Identifiquemos si existe el valor David en la columna stu_firstName. Esto se puede hacer con la ayuda de la siguiente consulta:

SELECT FIND_IN_SET("David", stu_firstName) as boolean_here from student_details ;

La salida del código mencionado anteriormente se puede ilustrar de la siguiente manera:

boolean_here
0
0
0
0
0
0
1

Nota: Es importante notar la palabra clave AS utilizada aquí como un alias. Usamos alias para que nuestra consulta sea más legible y completa.

Sin embargo, esta función solo está disponible en MySQL versión 4.0 y posteriores. Por lo tanto, hemos entendido con éxito cómo usar la función FIND_IN_SET() en MySQL.