Expresiones regulares en consultas SQL (regExp)
Las expresiones regulares son las secuencias que caracteres que permiten realizar búsquedas no literales.
Wildcards
Los caracteres wildcard se usan para sustituir uno o más caracteres en una secuencia de texto (String), se utilizan con el operador de comparación LIKE, el cual es usado en la clausula WHERE para buscar un patrón.
Dependiendo del sistema que se use para gestionar la base de datos, se dispondrá de unos u otros wildcards, por ejemplo en MySQL:
- % : Representa cero o más caracteres.
- _ : Representa un solo carácter.
- – : Se utiliza para definir un rango definido entre corchetes -> []
- [] : Indica la presencia de uno de los caracteres contenidos.
- ^ : Antagónico del [], define la presencia de cualquier carácter no contenido.
-- Selecciona todos los alumnos cuyos nombres comiencen por A
SELECT alumnoNombre FROM alumnos WHERE alumnoNombre LIKE 'A%'
-- Selecciona todos los alumnos cuyo nombre coincida con A_A
SELECT alumnoNombre FROM alumnos WHERE alumnoNombre LIKE 'A_a';
-- Selecciona los nombres de los alumnos cuya edad sea 12 o 13
SELECT alumnoNombre FROM alumnos WHERE alumnoEdad LIKE '1[23]';
-- Selecciona todos los nombres que no comienzan por A
SELECT alumnoNombre FROM alumnos WHERE alumnoNombre LIKE '[^^A]%'
RegExp
Las expresiones regulares: EN DESARROLLO