SQL LIKE

Brandon M. · 12 de junio de 2026

¿Pá qué funca?

Traduciéndolo del español, like significa "como" y sirve para filtrar diciéndole a SQL obtenme los datos que sean "como esto"

¿Como y cuando se usa?

Tiene bastante usos, para mi de las cosas más útiles que ofrece SQL, se usa en consultas cuando quieres filtrar pero no tienes el valor exacto (incluso lo puedes hacer con el valor exacto) y ese es su fuerte.

El como se usa también es bastante sencillo se usa de la mano con el WHERE quedando su sintaxis básica así:

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE 'patrón_a_cumplir';

Desglosándolo básicamente le decimos a SQL, oye selecciona de tal tabla, los registros en donde tal campo cumplan con cierto patrón, ahora a que nos referimos por un patrón?, básicamente cualquier carácter o conjunto de ellos, LIKE se encargara de buscar cualquier coincidencia a nivel de texto.

Vamos con un ejemplo con la tabla consolas que creamos en CREATE TABLE si ejecutamos:

sql
SELECT * FROM consolas
WHERE nombre_consola LIKE 'xbox';

Siendo el resultado:

Ejemplo de LIKE funcionando como =
Ejemplo de LIKE funcionando como =

Equisde, y es que va a parecer vacío ya que si no ponemos lo que se conoce como comodines este se va a compartir exactamente como si hiciéramos una consulta con un igual, es decir traduciendo la consulta anterior quedar algo como:

sql
SELECT * FROM consolas
WHERE nombre_consola = 'xbox';

Por ende, no tenemos un registro con esa coincidencia exacta y va a salir un resultado vacío, lo chido de LIKE es cuando usamos los comodines de los cuales tenemos dos "%" porcentaje y "_" guion bajo cada uno con su función en especifica.

Comodín %

Va, pues hay varios usos y dependen prácticamente de la posición en la que se tenga, de manera un poco mas técnica representa cualquier numero de caracteres a partir de donde se ponga.

Empieza por

El primerito y muy útil, cuando sabemos como empieza algo pero no sabemos como termina ni nada, queda así:

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE 'patrón_a_cumplir'%;

Siendo la única diferencia el uso del "%" un ejemplo con la tabla de consolas quedaría como:

sql
SELECT * FROM consolas
WHERE nombre_consola LIKE 'Xbox%';

Básicamente le decimos oye regresa todas las consolas que empiecen con "Xbox" sin importar que tengan después de "Xbox" en nuestro caso particular regresa los dos registros que tenemos:

Tabla consolas con todos los campos.
Tabla consolas regresando los registros que empiezan por Xbox.

Termina con

Así es papito, lo puedes usar al revés prácticamente acá bien macabro, pero si, en lugar de decir "Hey, busca algo que inicie con esto" le decimos "Busca algo que termine con esto"

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE '%patrón_a_cumplir';

Va, y en fa, el ejemplo con consolas podria ser:

sql
SELECT * FROM consolas
WHERE nombre_consola LIKE '%3';

En este caso solo nos regresaría un solo resultado la consola que termina en 3 (La de edición especial), no nos va a regresar las que terminen en cualquier otra cosa, va?

Tabla consolas con un registro.
Tabla consolas filtrando a que termine en 3

Contiene

Este ufas esta bien perro, los otros dos muy útiles, sin embargo deben ser exactos por decirlo así, este literalmente nos dice "Wey, si tiene esto tráelo" así en puerquiza, solo basta con encerrar el patrón entre dos "%"

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE '%patrón_a_cumplir%';

Manejando un ejemplo con consolas quedaría así:

sql
SELECT * FROM consolas
WHERE nombre_consola LIKE '%36%';

En este caso le decimos regrésame cualquier registro que en cualquier parte contenga el numero 26, por ende nos regresara los dos registros, ya que ambos que tiene 360 contiene en caracteres el 36

Tabla consolas con todos los campos.
Tabla consolas regresando los registros que contienen 36

Comodín _

Ajas padrino este es mas sencillo pero igual poderoso samarambiche, básicamente sustituye un caracter, literal, por cada "_" es equivalente a un carácter en espacio, cualquier caracter da igual, ojito pa, suena confuso, deja pongo un ejemplo:

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE '_patrón_a_cumplir';

Básicamente que le decimos a SQL "Oye, ve y busca cualquier cos que cumpla con el patrón y que tenga exactamente un carácter (El que sea) al inicio, este comodín lo podemos poner en cualquier parte y va a significar lo mismo:

  • Si lo pones en medio significa que cumpla el patrón con un carácter en medio
  • Al final que cumpla el patrón pero que tenga un carácter al final
  • O combinando uno al inicio otro en medio otro al final

Esto es útil cuando quieres precisión, si buscas buscar algo que inicie con la a pero tenga exactamente 5 caracteres la consulta quedaría algo así:

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE 'a____';

Literal le decimos busca que empiece con la a pero que tenga exactamente 5 caracteres, (ponemos 4 "_" ya que a cuanta como un carácter) si queremos por ejemplo que termine con "a" y que tenga en total 5 caracteres solo se revierte:

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE '____a';

O que tenga 2 caracteres al inicio y 2 al final y que a la mitad contenga a:

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE '__a__';

O que inicie con "a" que tenga dos caracteres y salga "a"que tenga otros dos caracteres y que termine en "a":

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE 'a__a__a';

Y ya como ejemplo pues para englobar pongo algo chusco, supongamos que queremos filtrar por fabricante y queremos que empiece con "Mi", tenga dos caracteres, luego tenga "os" tenga un carácter y termine en "ft" queda así:

sql
SELECT * FROM consolas
WHERE fabricante LIKE 'Mi__os_ft';

En este caso nos devolverá los dos reistros:

Tabla consolas con todos los campos.
Tabla consolas regresando los registros en donde su fabricante concuerde

Combinando _ y %

Otra de las cosas mas chidas que ofrece LIKE, es combinar sus dos comodines por ejemplo si queremos consultar algo que inicie con "a" tenga al menos 3 caracteres y termine en lo que sea podemos usar

sql
SELECT * FROM nombre_tabla
WHERE campo LIKE 'a__%';

Y como ejemplo rápido pues podemos filtrar cualquier consola que su fabricante inicie con M y contenga al menos 3 caracteres:

sql
SELECT * FROM consolas
WHERE fabricante LIKE 'M__%';
Tabla consolas con todos los campos.
Tabla consolas en donde su fabricante inicie con M y tenga al menos 3 caracteres

Conclusión

LIKE es poderoso y sencillo y combinando ufas te ayuda pa todo, échela ganas pa a comer, que tengo hambre.

Referencias

  1. W3Schools.com. (s. f.). https://www.w3schools.com/sql/default.asp