Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Expresiones regulares Fundamentos de SQL

Hasta ahora aprendiste a buscar texto con LIKE e ILIKE. Pero a veces necesitamos patrones más precisos, por ejemplo, buscar nombres que empiecen con A o B.

Para eso existe una herramienta más avanzada: las expresiones regulares.

Qué son las expresiones regulares o RegEx

Son una forma de definir patrones más precisos dentro de un texto. En SQL, se usan con el operador SIMILAR TO.

Por ejemplo, para mostrar a los usuarios cuyos nombres empiezan con A o B:

SELECT id, first_name, last_name, email
FROM users
WHERE first_name SIMILAR TO '[AB]%';

🔵 Abrir en DB Fiddle

[AB] indica “una A o una B”. El símbolo % (que ya conoces de LIKE) reemplaza el resto de la palabra. Esta consulta mostrará nombres como Abigale, Andy, Brayan, etc.

Usar rangos de letras o números

Dentro de los corchetes [], puedes usar el guion - para definir rangos. Por ejemplo:

  • [a-z] — cualquier letra minúscula.
  • [0-9] — cualquier número.

📍 Usuarios cuyo nombre de usuario termina en una letra:

SELECT id, username, email
FROM users
WHERE username SIMILAR TO '%[a-z]';

🔵 Abrir en DB Fiddle

📍 Usuarios cuyo nombre de usuario termina en un número:

SELECT id, username, email
FROM users
WHERE username SIMILAR TO '%[0-9]';

Para seleccionar todos los números, usamos el patrón [0-9]:

🔵 Abriren DB Fiddle

Validar direcciones de correo electrónico

Podemos usar patrones más complejos. Por ejemplo, un correo correcto debe tener: texto + @ + texto + . + texto. Podemos verificarlo así:

SELECT username, email
FROM users
WHERE email SIMILAR TO '%@%.%';

🔵 Abrir en DB Fiddle

💡 Si queremos detectar errores en los correos, usamos NOT SIMILAR TO:

SELECT username, email
FROM users
WHERE email NOT SIMILAR TO '%@%.%';

🔵 Abrir en DB Fiddle

El carácter _ (guion bajo)

El guion bajo _ reemplaza exactamente un carácter.

📍 Correos cuya terminación tiene dos letras (como .la o .io):

SELECT username, email
FROM users
WHERE email SIMILAR TO '%.__';

🔵 Abrir en DB Fiddle

📍Correos con tres letras (como .com):

SELECT username, email
FROM users
WHERE email SIMILAR TO '%.___';

🔵 Abriren DB Fiddle


Resumen

  • SIMILAR TO permite buscar usando expresiones regulares.
  • [] define un conjunto de caracteres ([AB], [a-z], [0-9]).
  • - dentro de corchetes indica un rango.
  • % reemplaza cualquier cantidad de caracteres.
  • _ reemplaza exactamente uno.
  • NOT SIMILAR TO excluye coincidencias.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY