Funciones FIELD Y FIND IN SET para string en SQL

Contenido del Bootcamp Dirigido por: | Última modificación: 11 de julio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Entre el trabajo con bases de datos, conocer las funciones FIELD Y FIND IN SET para string en SQL te permiten desarrollar tareas para perfeccionar tus bases de datos. Estas son solo un par del gran conjunto de funciones que podrías aprender con KeepCoding. Es por eso que te invitamos a seguir leyendo este artículo y visitar nuestro blog para encontrar muchas más para poder reproducirlas en tus próximos proyectos de bases de datos.

FIELD Y FIND IN SET para string en SQL

Dentro de las funciones más interesantes que utilizar para realizar consultas dentro de bases de datos o para encontrar valores que necesites, FIELD y FIND IN SET para string en SQL son primordiales, por lo tanto, a continuación te contaremos en qué consisten.

En qué consiste FIELD en SQL

La sentencia FIELD en SQL se utiliza para buscar una cadena entre un conjunto más grande de strings, para que encuentre y devuelva la posición de la cadena en consulta. Aunque con la mayoría de funciones de SQL hay que tener cuidado respecto al cambio de minúsculas y mayúsculas, pues es sensible a ellas, no siempre supone un problema. Este es el caso de FIELD, ya que no diferencia entre mayúsculas y minúsculas, pues la comparativa la realiza en cualquier formato.

Ahora bien, la sintaxis general de la sentencia de FIELD en SQL es la siguiente: FIELD (valueval1val2val3, …).

Ejemplo del uso con FIELD en SQL

Así pues, para que te quede aún más clara la sintaxis general de la sentencia de FIELD en SQL, te traemos un ejemplo relacionado a un ejercicio práctico sobre la serie animada de Los Simpson, sobre el que hablamos en un artículo anterior. En este caso, vamos a utilizar una pequeña lista de los personajes para hacer la consulta con FIELD.

SELECT FIELD ('HOMER', 'BART', 'MAGGIE', 'LISA', 'HOMER', 'MARGE') BÚSQUEDA1
. FIELD ('Homer', 'HOMER', 'BART', 'MAGGIE', 'LISA', 'HOMER', 'MARGE') BÚSQUEDA2
. FIELD ('HOMER', 'HOMER', 'BART', 'MAGGIE', 'LISA', 'HOMER', 'MARGE') BÚSQUEDA3
. FIELD ('HOMER´, null) BÚSQUEDA4
;

Como podrás ver, los elementos de la lista deben estar encasillados, con comillas, en cada una de las cadenas. Por otro lado, como verás a continuación, el posicionamiento empieza a contar desde el número 0 y cuando tenga valores nulos, devolverá, en la tabla de resultados, el número 0. En este caso, en la búsqueda número 3 y la búsqueda número 4.

BÚSQUEDA1BÚSQUEDA2BÚSQUEDA3BÚSQUEDA4
4400

En qué consiste FIND IN SET en SQL

De la misma manera, aunque un poco menos intuitiva, aparece la sentencia FIND IN SET, que también te permitirá localizar la posición de los valores deseados dentro de una lista de strings determinada. A diferencia de otras sentencias, en este caso todos los strings de la lista están establecidos entre comillas y no cadena por cadena, como sí se requiere cuando utilizamos la sentencia FIELD.

Ejemplo del uso con FIND IN SET en SQL

Para encontrar las diferencias entre ambas sentencias, vamos a utilizar el mismo ejemplo y solo haremos los cambios requeridos para que la sentencia funcione correctamente.

SELECT FIND_IN_SET ('HOMER', 'BART, MAGGIE, LISA, HOMER, MARGE') BÚSQUEDA1
. FIND_IN_SET ('Homer', 'HOMER, BART, MAGGIE, LISA, HOMER, MARGE) BÚSQUEDA2
. FIND_IN_SET ('HOMER', 'HOMER, BART, MAGGIE, LISA, HOMER, MARGE') BÚSQUEDA3
. FIND_IN_SET ('HOMER´, null) BÚSQUEDA4

La lista de las cadenas están encasilladas en conjuntos y, a su vez, esta sentencia tampoco diferencia entre minúsculas y mayúsculas, por lo que obtendrás el mismo resultado. No obstante, a diferencia de FIELD, con esta sentencia cuando hay un campo o valor nulo en la tabla de resultados no aparecerá el valor 0, más bien encontrarás el campo vacío. Lo puedes ver a continuación:

BÚSQUEDA1BÚSQUEDA2BÚSQUEDA3BÚSQUEDA4
440

De esta manera, has podido aprender en qué consisten las funciones FIELD Y FIND IN SET para string en SQL.

Como habrás podido comprobar gracias a este artículo, las funciones FIELD Y FIND IN SET para string en SQL son necesarias, pues te permiten cumplir con tareas en los trabajos que realices donde las bases de datos son los puntos centrales para el desarrollo.

Es por eso que queremos que sigas recolectando más funciones y, para ello, no puedes perderte nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. ¿Te gustaría cambiar tu vida y convertirte en todo un profesional del manejo de los macrodatos? ¡No lo dudes más y solicita ahora mismo más información!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado