Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso Práctico de SQL

Curso Práctico de SQL

Israel Vázquez Morales

Israel Vázquez Morales

Regularizando expresiones

23/29
Recursos

Aportes 26

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

“¡A respirar!, ya acabó el cardio”. JAJAJA

Experimentando un poco con lpad y rpad, logre dibujar un árbol 😂 🌲

SELECT lpad('\', s.a, rpad(lpad('/', d.e, ' '), s.a, '*'))
FROM generate_series(18, 26) AS s(a), 
	 generate_series(17,0,-2) AS d(e)
LIMIT 10;```

La expresión regular es la siguiente

~*'[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}'

Interesante clase. Tiro un tip: Este símbolo ‘~’ se hace con ALT + 126.

Para los que quieran el filtrado de los ‘’@google’’
~*’[A-Z0-9._%±][email protected][A-Z0-9.-]+.[A-Z]{2,4}’

SELECT  lpad ('*', generate_series, '*')
FROM    generate_series(1,10);```

Si a alguien le interesa esta es la expresión regular completa para generar números realistas de teléfonos de Estados Unidos:
[2-9][0-9]{2}-[2-9][0-9]{2}-[0-9]{4}

Este fue el código que se me ocurrió:

SELECT lpad('*', a.id, '*'), s.a
FROM platzi.alumnos AS a
	INNER JOIN generate_series(0, (SELECT COUNT(*) FROM platzi.alumnos)) AS s(a)
	ON s.a = a.id
LIMIT 30;

Regularizando expresiones
Permiten insertar una lógica extensa y compleja de manera sencilla

SELECT email
FROM platzi.alumnos
WHERE email ~*'[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}';

Ejercicio de la clase anterior:

select lpad('*', s.a, '*')
from generate_series(1, 15) AS s(a);

Expresiones regulares será uno de mis próximos cursos, es clave para el análisis de textos.

Curso de expresiones regulares terminando éste 👾

Dato: La expresión que va dentro de las comillas no debe tener espacios.

No pude hallarlo en SQL Server.
¿Alguien pudo realizar el código en SQL Server?

<h3>pruebas=# SELECT rpad(‘sql’, generate_series(0,10),’*’);
rpad</h3>

s
sq
sql
sql*
sql**
sql***
sql****
sql*****
sql******
sql*******
(11 filas)

–RETO: GENERANDO RANGOS CON LPAD:


SELECT lpad('*', carrera_id, '*')
FROM platzi.alumnos AS a
	INNER JOIN generate_series(0,100, 10) AS s(a)
	ON s.a = a.carrera_id
ORDER BY a.carrera_id ASC;

RETO CLASE PASADA

SELECT lpad (’*’, s.a, ‘-’)
FROM generate_series(1,15) AS s(a);

Mi propiesta de solución a la prueba del ejercicio anterior fue la más sencilla que se me ocurrió, quedo abierto a sus comentarios.

SELECT lpad('*',generate_series(1,10),'*') 

**El resultado que obtuve fue: **

Ahora las terminaciones de dominio (.com, .travel, .info, .club, .cloud) no son más 2 a 4, pueden ser más extensos. Ojo ahí. Poco comunes, pero los hay.

Ahí va el reto de mi parte

SELECT rpad('HOLA',n.id,';)')
FROM generate_series(1,100,1) AS n(id)

SELECT lpad(’’, generate_series(1,5),’’)

select lpad(’’,generate_series(1,10),’’)

No entendí nada jejejejeje

	SELECT 
		alumnos.id,
		CONCAT(alumnos.nombre, ' ', alumnos.apellido) as nombre,
		alumnos.fecha_incorporacion as fechaOriginal, 
		alumnos.nroDiasIncremento AS Incremento,
		(alumnos.fecha_incorporacion + alumnos.nroDiasIncremento) as nuevaFecha
	FROM
		(SELECT 
			id, 
			nombre, 
			apellido, 
			CAST(fecha_incorporacion AS DATE) AS fecha_incorporacion, 
			CAST((SELECT MAX(s.dias) FROM generate_series(1, alumnos.id) AS s(dias)) AS int) as nroDiasIncremento 
		FROM alumnos) as alumnos
	ORDER BY alumnos.id

Una vez puse mi correo electrónico en mayúsculas para entrar a platzi y me salió que no estaba registrado. Esta es una falla que ocurre aquí.

ya soy fit?