Sentencia LIKE SQL

Uso de la sentencia LIKE SQL

La Sentencia LIKE SQL es un operador lógico que se utiliza para determinar si una cadena de caracteres coincide con un patrón especificado en una consulta. La Sentencia LIKE SQL siempre la utilizamos dentro de la instrucción WHERE para buscar patrones de coincidencia en una columna, de igual forma podemos usarlo en las siguientes sentencias SELECT, UPDATE, DELETE.

Sintaxis
SELECT * FROM Nombre_tabla WHERE Columna LIKE[ESCAPE Caracter] 


Patrón

El patrón son caracteres que son utilizados para buscar en una columna o expresión. A continuación mencionamos algunos caracteres comodines válido:

Porcentaje(%): Cualquier cadena de Ceros o más caracteres.

Guion Bajo: Cualquier Carácter único.

Comodín: [Lista de caracteres]:Cualquier carácter único en un conjunto especificado.

[Caracter-Caracter]:Son caracteres individuales dentro de un rango especificado.

[^]: Carácter único que no esté dentro de un rango o una lista.

Al utilizar los caracteres comodines estos hacen más flexible al operador SQL LIKE que los operadores de comparación = (Igual) y !=(No Igual).


Carácter ESCAPE

El carácter ESCAPE indica en el Like que los caracteres comodines sean visto como caracteres normales. Escape no tiene un valor determinado por ende tiene que evaluarse como un solo carácter.

LIKE devuelve TRUE(Verdadero) si la expresión o columna evaluada coincide con el patrón especificado


Uso del comodín %

A continuación vamos a realizar una serie de ejemplos haciendo uso de una tabla llamada Personas.


A continuación de la tabla Persona vamos a seleccionar los registros cuyo apellido inicie con la letra "M".

SELECT * FROM Personas WHERE Apellido LIKE 'M%'
ORDER BY Apellido

Ejecutamos la consulta para ver el resultado:

El resultado arrojado por la consulta nos va a mostrar la información de las personas cuyo apellido inicia con M.

ahora veamos otro ejemplo pero esta vez vamos a seleccionar los registros de personas en donde el país termine en "ia".

SELECT * FROM Personas WHERE Pais LIKE '%ia'
ORDER BY Apellido

Ejecutamos la consulta para obtener el resultado:

hemo visto el uso del comodín % dentro de Like y observamos que para buscar registros anteponemos el % al inicio o al final de la expresión para obtener los registros


Uso del comodín Guión bajo

A como explicamos al inicio de la sección el Guión bajo representa un solo carácter. veamos un ejemplo para explicar su uso, de nuestra tabla selecciones las personas cuyo apellido su segundo carácter sea la letra "A".

SELECT * FROM Personas WHERE Apellido LIKE '_a%'
ORDER BY Apellido

Veamos la ejecución de la consulta:


Observando la ejecución de la consulta nos muestra los registro cuya coincidencia en segundo carácter  en este caso la letra A. El primer carácter _ hace coincidencia con cualquier carácter individual, la segunda que es la letra "A" coincide con la letra "A" de los registros, y el tercero %  coincide con cualquier carácter en secuencia.

Uso de Comodín [Lista de caracteres]

A como hemos venido estudiando sabemos que los corchetes representan un solo carácter el cual deber ser uno de los caracteres especificados en la lista, veamos un ejemplo vamos a seleccionar las personas cuyo nombre el primer carácter sea M o L :

SELECT * FROM Personas WHERE Apellido LIKE '[ml]%'
ORDER BY Apellido

Procedamos a ejecutar la consulta:

Después de haber ejecutado la consulta podemos observar que los registros mostrados son los especificados dentro dentro del comodín[], esto debido al momento de ejecutarse la consulta el Like analiza como un solo carácter en la búsqueda.


Uso del comodín [Carácter-Carácter]

los corchetes con un rango de caracteres, representan un solo carácter el cual debe estar entre un rango especificado. veamos un ejemplo

vamos a seleccionar las personas cuyo nombre la letra esté en el rango entre "A " hasta "L".

SELECT * FROM Personas WHERE Nombre LIKE '[a-l]%'
ORDER BY Nombre
Ejecutemos la consulta para ver el resultado:

Al ser  representado como un solo carácter la consulta nos va mostrar la información de los registros que estén en el rango de nombres entre [a-l]

Uso de comodín[^]

A diferencia del comodín entre corchetes[], los corchetes con signo de Intercalación seguidos con de un rango, representan caracteres que no están en el rango especificado. Veamos un ejemplo:

Seleccionemos las personas cuyo  primer carácter de apellido no esté en el rango de letra entre "A "a "D"

SELECT * FROM Personas WHERE Apellido LIKE '[^a-d]%'
ORDER BY Apellido


A continuación obtenemos el resultado de la consulta:

El resultado mostrado son todo los registros cuyo carácter de inicio en el apellido no esta entre el rango especificado


Uso de ESCAPE

La cláusula ESCAPE podemos especificarla con un símbolo en este caso podremos ! como el carácter escape, el cual va a indicarle al LIKE que trate al % como un carácter literal en lugar de un carácter comodín, si omitimos la cláusula ESCAPE los valores devueltos será VACIO.

En el siguiente ejemplo vamos a seleccionar los registros que contenga un 30% en  el campo comentarios
 
SELECT * FROM Personas WHERE comentarios LIKE '%30%%' ESCAPE '!';

Procedamos a ejecutar la consulta para ver el resultado:

El resultado obtenido es el registro que contiene el 30% en el campo comentario, como mencionamos si emitiéramos la cláusula Escape nos retornaría los resultados vacíos.

En esta sección hemos aprendido sobre el uso de la sentencia LIKE SQL  y las diferentes formas que es empleado para filtrar registros, espero que les sea de mucha ayuda






Publicar un comentario

0 Comentarios