Se utiliza cuando queremos comparar el valor de una columna con un patrón en el que se utilice caracteres comodines.
<expression> [NOT] LIKE <patron> [ESCAPE 'car_escape']
Con expresión indicamos el valor a comparar (normalmente será el nombre de una columna) y patrón es la cadena que se busca. El patrón es de tipo texto y tiene que escribirse entre comillas simples. Dentro del patrón podemos utilizar los siguientes comodines:
% representa cualquier cadena de cero o más caracteres.
SELECT numemp,nombre FROM empleados WHERE nombre LIKE ‘An%’;
numemp | nombre |
---|---|
101 | Antonio Viguer |
108 | Ana Bustamante |
Obtiene todos los nombres que empiecen por An.
SELECT numemp,nombre FROM empleados WHERE nombre LIKE ‘%z’;
numemp | nombre |
---|---|
104 | José González |
107 | José González |
Obtiene los nombres que acaban en z.
SELECT numemp,nombre FROM empleados WHERE nombre LIKE ‘%on%’;
numemp | nombre |
---|---|
101 | Antonio Viguer |
104 | José González |
106 | Luis Antonio |
Obtiene los nombres que contienen on.
_ representa cualquier carácter (sólo uno).
SELECT numemp,nombre FROM empleados WHERE nombre LIKE '__a%';
numemp | nombre |
---|---|
103 | Juan Rovira |
108 | Ana Bustamante |
110 | Juan Victor |
Obtiene los nombres cuya tercera letra sea una a (en el patrón tenemos dos caracteres subrayado).
[ ] sirve para indicar un carácter cualquiera perteneciente al conjunto indicando.
El conjunto se indica enumerando los caracteres o indicando un intervalo.
SELECT numemp,nombre FROM empleados WHERE nombre LIKE '[a-d]%';
Obtiene los nombres que empiezan por cualquier letra de la a a la d.
Es equivalente a escribir:
SELECT numemp,nombre FROM empleados WHERE nombre LIKE '[abcd]%';
[^] significa cualquier carácter individual que no se encuentre en el conjunto.
SELECT numemp,nombre FROM empleados WHERE nombre LIKE '[^abcd]%';
Y
SELECT numemp,nombre FROM empleados WHERE nombre LIKE '[^a-d]%';
Obtienen los nombres que no empiecen por a, b, c ni d.
Es importante tener en cuenta que dentro del patrón el espacio en blanco es considerado como un carácter más, si colocamos dos espacios en el patrón, se buscarán dos espacios en el campo.
Si queremos incluir en el patrón uno de los caracteres comodines y que no sea interpretado como un comodín, sino como un carácter normal, lo tenemos que encerrar entre corchetes o utilizar un carácter de escape.
[ESCAPE 'car_escape']
La cláusula ESCAPE es opcional y permite definir un carácter de escape.
Un carácter de escape es un carácter que se coloca delante de un carácter comodín para indicar que el comodín no debe interpretarse como tal, sino como un carácter normal.
Por ejemplo queremos buscar los nombres compuestos que incluyen un subrayado. En este caso tenemos que poner el carácter _ como un carácter normal no como un comodín, así que lo escribiremos así:
SELECT numemp,nombre FROM empleados WHERE nombre LIKE '%[_]%';
O bien,
SELECT numemp,nombre FROM empleados WHERE nombre LIKE '%!_%' ESCAPE '!';
Para practicar puedes realizar este Ejercicio Test de correspondencia con LIKE.
Existen dos predicados más para evaluar expresiones: CONTAINS y FREETEXT. Puedes ver más información sobre ellas en este avanzado .
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.