Вы находитесь на странице: 1из 3

Permite sustituir solo un carcter.

Ejemplos usando el comodin %


El primer ejemplo vamos a seleccionar todos clientes que su nombre empiece por la
letra A.

SELECT * FROM clientes


WHERE nombre_cliente like 'A%';

Podemos usar el comodin tantas veces como desemos. Por ejemplo,

SELECT * FROM clientes


WHERE nombre_ciente like '%to%';

En el ejemplo anterior obtendremos todos los clientes que su nombre contenga


los caracteres 'to'

Ejemplos usando el comodin _

SELECT * FROM clientes


WHERE nombre_codigo_cliente like 'Jua_';

El Select anterior devolvera todos los cliente que su nombre empiece por 'Jua' y que el
cuarto caracter sea cualquiera

Otro ejemplo,

SELECT * FROM clientes


WHERE codigo_cliente like '12_';

En este timo ejemplo obtendremos todos los clientes que su cdigo de cliente tenga 3
dgitos, los dos primeros sern '12' y el tercero cualquiera.

Uso de comodines en
sentencia con LIKE en Mysql
Posted on 30/05/2014 by andrezgz

Al realizar una consulta sql utilizando LIKE, existen 2 comodines:

% Coincidencia de cualquier nmero de caracteres, incluso cero caracteres


_ Coincidencia exacta de un carcter

Para ejemplificar su uso, consideremos una tabla de usuarios donde tenemos 6 registros cuyos valores
para el campo login son: admin, admin1, admin2, admin_3, admin_4 y administrador.

El primero de ellos (%), es el ms conocido. Si ejecutamos:

mysql> SELECT * FROM usuarios WHERE login LIKE "admin%"

obtenemos los registros cuyo login comience con admin y contine con 0 o ms caracteres. En nuestro
caso: admin, admin1, admin2, admin_3, admin_4 y administrador (todos los registros).

El segundo (_), funciona de manera similar y si ejecutamos:

mysql> SELECT * FROM usuarios WHERE login LIKE "admin_"

obtenemos los registros cuyo login comience con admin y tenga un nico carcter a continuacin. En
nuestro caso: admin1 y admin2 (requiere que exista un nico carcter luego del texto admin).

Hasta aqu todo est claro, pero qu sucede si quisiramos obtener los registros cuyo login comience
con admin_ (tienen un guin bajo luego del texto admin)?

Si planteamos la consulta as:

mysql> SELECT * FROM usuarios WHERE login LIKE "admin_%"


obtenemos los registros cuyo login comience con admin, tenga un carcter a continuacin y luego 0 o
ms caracteres. En nuestro caso: admin1, admin2, admin_3, admin_4 y administrador.

Para poder utilizar los comodines dentro de un LIKE como si fueran simples caracteres (instancias
literales), es necesario anteponerles el carcter de escape \:
mysql> SELECT * FROM usuarios WHERE login LIKE "admin_%"

as obtenemos los registros cuyo login comience con admin, tenga un guin bajo a continuacin y
luego 0 o ms caracteres. En nuestro caso: admin_3 y admin_4.

Se puede definir otro carcter de escape en una consulta de la siguiente manera:

mysql> SELECT * FROM usuarios WHERE login LIKE "admin|_%" ESCAPE '|';

Вам также может понравиться