Filtros · patrones de texto

LIKE

LIKE compara texto con un patrón. El símbolo % representa cualquier secuencia y _ representa exactamente un carácter.

Lectura: 5–7 minEjemplo comprobadoPráctica con pistas
Contenido de esta guía

Qué hace LIKE

LIKE comprueba si un texto encaja en un patrón. Se utiliza dentro de condiciones como WHERE y suele combinar texto literal con dos comodines:

  • %: cero, uno o muchos caracteres.
  • _: exactamente un carácter.

Los comodines no significan «buscar algo parecido». Describen posiciones concretas del texto que pueden variar.

Cómo leer los patrones

PatrónSignificadoEjemplo que encaja
'Mon%'Empieza por MonMonitor 24
'%USB%'Contiene USBCable USB-C
'Monitor __'Monitor, espacio y dos caracteresMonitor 24
'%o'Termina en oRatón no encaja; Altavoz tampoco

Predice la posición de los comodines. Un % al principio impide usar un prefijo fijo para acotar la búsqueda en muchos índices.

Ejemplo guiado: productos de la familia Monitor

SQL
SELECT nombre, precio
FROM productos
WHERE nombre LIKE 'Monitor %'
ORDER BY nombre;
Resultado comprobado
nombreprecio
Monitor 24179,0
Monitor 27249,0

El espacio después de «Monitor» forma parte del patrón. El % permite cualquier continuación, incluida una cadena vacía.

Mayúsculas, minúsculas y colaciones

No supongas que LIKE 'monitor%' encontrará siempre «Monitor 24». La sensibilidad a mayúsculas depende del motor y de la configuración de comparación. PostgreSQL ofrece ILIKE como extensión para coincidencia sin distinguir mayúsculas; SQLite aplica por defecto una comparación sin distinción para letras ASCII, pero no para todo Unicode.

Cuando la aplicación necesite una regla lingüística concreta, define y prueba la colación o la estrategia de normalización en el motor real.

Buscar los símbolos % y _ como texto

Si los datos pueden contener los propios comodines, necesitas escaparlos. La sintaxis exacta y el carácter de escape deben comprobarse en tu motor. No concatenes directamente texto introducido por una persona dentro del patrón: utiliza parámetros y decide si esos caracteres deben actuar como comodines o como texto literal.

Errores frecuentes

Usar = con un comodín

nombre = 'Mon%' busca literalmente los cuatro caracteres «Mon%». Para interpretar el comodín debes usar LIKE.

Empezar siempre por %

'%texto%' es cómodo, pero puede obligar al motor a revisar muchas filas. Utiliza el patrón más específico que resuelva la necesidad real.

Práctica guiada

Básica · patrones

Busca cables por prefijo

Muestra nombre y stock de los productos cuyo nombre empiece exactamente por «Cable». Ordena alfabéticamente.

Compatibilidad entre motores

LIKE, % y _ están ampliamente disponibles. La sensibilidad a mayúsculas, las colaciones, el escape y las alternativas para expresiones regulares cambian. Prueba siempre patrones representativos en el motor y la configuración reales.

Qué debes recordar

  • % representa cualquier secuencia; _, un carácter.
  • El lugar del comodín cambia la intención del filtro.
  • Mayúsculas y acentos dependen del motor y la colación.
  • Los patrones introducidos por usuarios deben parametrizarse y tratar los comodines de forma consciente.

Conceptos relacionados

Fuentes técnicas consultadas