Guía rápida de sql LIKE

LIKE se usa para buscar un patrón en una columna dada, utilizándose mucho para buscadores dentro de nuestras aplicaciones.

Su sintaxis es:

SELECT * FROM tabla WHERE columna LIKE patrón

También podemos utilizar NOT LIKE en lugar de LIKE para identificar que no se encuentre el patrón en nuestra consulta:

SELECT * FROM tabla WHERE columna LIKE patrón

Para hacer los patrones debemos de utilizar los wildcards o comodines, que son los que nos permiten decirle a sql que es lo que queremos o no queremos mostrar.

Wildcards

En la siguiente tabla vamos a analizar los wildcards que se utilizan en el operador LIKE:

Wildcard Descripción
% sustitulle 0 o mas caracteres
_ sustitulle un caracter
[charlist] Selecciona rangos de caracteres que coincidan
[^charlist]
ó
[!charlist]
Selecciona rangos de caracteres que no coincidan

Una vez que conocemos la sintaxis y los wildcards podemos hacer consultas para obtener resultados interesantes como en los siguientes ejemplos:

Seleccionar todos los registros con ciudades que empiecen por Ber:

SELECT * FROM proveedor WHERE Ciudad LIKE ‘Ber%’

Empresa Ciudad País
Heli Süßwaren GmbH & Co. KG Berlín Alemania

Seleccionar todos los registros con ciudades que contengan es en su nombre:

SELECT * FROM proveedor WHERE Ciudad LIKE ‘%es%’

Empresa Ciudad País
Exotic Liquids Londres Reino Unido
Specialty Biscuits, Ltd. Manchester Reino Unido

Seleccionar todos los registros con ciudades que cumplan con B_rlín donde _ es cualquier caracter

SELECT * FROM proveedor WHERE Ciudad LIKE ‘B_rlín’

Empresa Ciudad País
Heli Süßwaren GmbH & Co. KG Berlín Alemania

Y así con cualquier patrón que se nos vaya ocurriendo…