32 - Búsqueda de patrones (regexp) |
Los operadores "regexp" y "not regexp" busca patrones de modo similar a "like" y "not like".
Para buscar libros que contengan la cadena "Ma" usamos:
select titulo from libros where titulo regexp 'Ma';
Para buscar los autores que tienen al menos una "h" o una "k" o una "w" tipeamos:
select autor from libros where autor regexp '[hkw]';
Para buscar los autores que no tienen ni "h" o una "k" o una "w" tipeamos:
select autor from libros where autor not regexp '[hkw]';
Para buscar los autores que tienen por lo menos una de las letras de la "a" hasta la "d", es decir, "a,b,c,d", usamos:
select autor from libros where autor regexp '[a-d]';
Para ver los títulos que comienzan con "A" tipeamos:
select titulo from libros where titulo regexp '^A';
Para ver los títulos que terminan en "HP" usamos:
select titulo from libros where titulo regexp 'HP$';
Para buscar títulos que contengan una "a" luego un caracter cualquiera y luego una "e" utilizamos la siguiente sentencia:
select titulo from libros where titulo regexp 'a.e';
El punto (.) identifica cualquier caracter.
Podemos mostrar los títulos que contienen una "a" seguida de 2 caracteres y luego una "e":
select titulo from libros where titulo regexp 'a..e';
Para buscar autores que tengan 6 caracteres exactamente usamos:
select autor from libros where autor regexp '^......$';
Para buscar autores que tengan al menos 6 caracteres usamos:
select autor from libros where autor regexp '......';
Para buscar títulos que contengan 2 letras "a" usamos:
select titulo from libros where titulo regexp 'a.*a';
El asterisco indica que busque el caracter inmediatamente anterior, en este caso cualquiera porque hay un punto.