Tutorial de SQL

Cómo usar LIKE en SQL para buscar por patrón

LIKE busca textos que siguen un patrón en lugar de ser idénticos: que empiecen con, terminen con o contengan ciertas letras. El signo % representa cualquier cantidad de caracteres y el guion bajo, exactamente uno. Aquí verás cada comodín con ejemplos, una consulta resuelta y cómo trata las mayúsculas SQL Server.

LIKE: buscar por una parte del texto

Con = el texto debe ser idéntico. Con LIKE puedes buscar un patrón: «empieza con», «termina con» o «contiene».

El signo % es un comodín: representa cualquier cantidad de letras (incluso ninguna).

Cómo se escribe

WHERE columna LIKE 'patrón%'

'Mar%'
empieza con Mar
'%ez'
termina con ez
'%lop%'
contiene lop en cualquier parte
_
un guion bajo es exactamente una letra cualquiera

Ejemplo resuelto

SELECT nombre, correo FROM alumnos WHERE nombre LIKE 'S%'
Número de fila#nombrecorreo
1Santiago Floressantiago@escuela.mx
2Sebastián Larasebastian@escuela.mx

Alumnos cuyo nombre empieza con S.

En SQL Server: En SQL Server es igual. Que distinga o no mayúsculas depende de cómo se configuró la base (casi siempre no las distingue).

  • Sin %, LIKE funciona igual que =: LIKE 'Mar' solo encuentra el texto «Mar».
  • LIKE normalmente no distingue mayúsculas: 'mar%' también encuentra «María».

Preguntas frecuentes

¿Qué significa % en LIKE?

Es un comodín que representa cualquier cantidad de caracteres, incluso ninguno. 'Mar%' encuentra todo lo que empieza con Mar.

¿Cuál es la diferencia entre LIKE y =?

Con = el texto debe ser idéntico. LIKE permite comodines; sin %, LIKE 'Mar' funciona igual que =.

¿LIKE distingue mayúsculas y minúsculas?

Normalmente no. En SQL Server depende de cómo se configuró la base, aunque casi siempre no las distingue.