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…