++Illuminati detected++ No me sorprende que la clase sea la 21 =(3x(3+3+1)).

++Illuminati detected++ No me sorprende que la clase sea la 21 =(3x(3+3+1)).

Lpad: rellena por la izquierda. P.e. lpad('437',5,'0') tendría como resultado 00437.
RPad: rellena por la derecha. P.e. rpad('437',5,'0') tendría como resultado 43700.
Se podría aplicar para presentar un "diagrama de barras comparativas" de una variable, por ejemplo la colegiatura, en el caso que en la capa superior no sea posible.
SELECT CONCAT(nombre, ' ', apellido) ,colegiatura, LPAD('|', CAST(colegiatura AS int)/100, '|') AS coleg_bar
FROM platzi.alumnos;

🙀 OMG amigos, no sabía que también se podían usar emojis como relleno. Miren!

Les quiero compartir una aplicación de lpad, cree un columna PROMEDIO en la tabla alumnos, le puse valores aleatorios del 1 al 10, y con lpad cree una columna adicional llamada PUNTAJE la cual muestra de manera grafica, con estrellas que tan bien va el alumno, si su promedio es de 10 o 9 tiene 5 estrellas , si tiene 8 o 7, 4 estrellas y así sucesivamente

Les comparto lo que me aparece en PDAdmin

Hola, creo que esta clase puede ser muy útil para tokenizar información sensible de usuarios, comparto la query :)
/* TOKENIZANDO */
SELECT rpad(SUBSTR(nombre, 1, 2),LENGTH(nombre),'*'), nombre,
rpad(SUBSTR(apellido, 1, 2),LENGTH(apellido),'*'), apellido,
rpad(SUBSTR(email, 1, 2),LENGTH(email),'*'), email
FROM platzi.alumnos
Si están utilizando SQL Server:


Ya me quedo mucho mas claro como funcionan .
<
/* right Join todo de la tabla de alumnos */
SELECT
a.[nombre]
,a.[apellido]
,a.[carrera_id]
,b.id
,b.carrera
FROM [HAHM].[dbo].[platzialumnos] a
right join platzicarreras b on a.carrera_id = b.id
where b.carrera is not null
order by carrera desc
/* Left Join todo de la tabla de alumnos */
SELECT
a.[nombre]
,a.[apellido]
,a.[carrera_id]
,b.id
,b.carrera
FROM [HAHM].[dbo].[platzialumnos] a
left join platzicarreras b on a.carrera_id = b.id
where b.id is not null
order by carrera desc
/* inner Join todo lo que coincida en ambas tablas */
SELECT
a.[nombre]
,a.[apellido]
,a.[carrera_id]
,b.id
,b.carrera
FROM [HAHM].[dbo].[platzialumnos] a
inner join platzicarreras b on a.carrera_id = b.id
order by carrera desc
/* Full Join */
SELECT
a.[nombre]
,a.[apellido]
,a.[carrera_id]
,b.id
,b.carrera
FROM [HAHM].[dbo].[platzialumnos] a
full join platzicarreras b on a.carrera_id = b.id
order by carrera desc
>
He utilizado estas funciones en consultas donde los campos resultados estaban destinados a un archivo de texto formateado donde debía respetar la longitud de cada campo completando a derecha o izquierda con espacios en blanco o con ceros, para campos alfanuméricos y numéricos respectivamente.
Aaron Quiroga
++Illuminati detected++ No me sorprende que la clase sea la 21 =(3x(3+3+1)).
Edward Tuanama
jajajajjajajaja xd
Irving Juárez
De hecho cuando tu hiciste este comentario se arruino toda tu triangulación
Miguel Angel Paz Gonzalez
Lpad: rellena por la izquierda. P.e. lpad('437',5,'0') tendría como resultado 00437.
RPad: rellena por la derecha. P.e. rpad('437',5,'0') tendría como resultado 43700.
José Enrique Cánepa Cazeneuve
Excelente para generación de Códigos
Erick Armando Sánchez Flores
Muy buena explicación.
Iván Mauricio Jaimes Niño
Ricardo Ruíz Velazco
muy buena aplicación! justo pensaba como hacer práctica la función
Juan Ignacio Portilla Kitroser
Muy buena, la unica funcionalidad util que le veo!
Fernanda Arteaga Guivin
🙀 OMG amigos, no sabía que también se podían usar emojis como relleno. Miren!
Patricio Sánchez Fernández
Bien, descubriendo nuevos usos.
Herberth Alberto Barrientos Funes
Les quiero compartir una aplicación de lpad, cree un columna PROMEDIO en la tabla alumnos, le puse valores aleatorios del 1 al 10, y con lpad cree una columna adicional llamada PUNTAJE la cual muestra de manera grafica, con estrellas que tan bien va el alumno, si su promedio es de 10 o 9 tiene 5 estrellas , si tiene 8 o 7, 4 estrellas y así sucesivamente
Cristian Orlando Rincon Bonilla
Les comparto lo que me aparece en PDAdmin
Sergio Arturo Mata Contreras
Eso ya es ser esquizo bro jaja ntc
Enzo Rafael Cárdenas Nicho
Enzo Rafael Cárdenas Nicho
Juan Diego Ussa Aponte
Si eso tambien se me habia ocurrido. Aunque no conocia la funcion SUSBSTR
roberto hernandez de la cruz
Si están utilizando SQL Server:
Humberto Adrián Hernández Maldonado
Walter Omar Barrios Vazquez
He utilizado estas funciones en consultas donde los campos resultados estaban destinados a un archivo de texto formateado donde debía respetar la longitud de cada campo completando a derecha o izquierda con espacios en blanco o con ceros, para campos alfanuméricos y numéricos respectivamente.
Ernesto Gastón Pérez Astoquillca
Lpad is izquierda Rpad para la derecha
Andres Sanchez
21. Triangulado
SELECT lpad('sql',15,'+') SELECT lpad('*',id,'*') FROM platzi.alumnos WHERE id < 10 ORDER BY carrera_id SELECT lpad('*',CAST(row_id AS int),'*') FROM ( SELECT ROW_NUMBER() OVER(ORDER BY carrera_id) AS row_id, * FROM platzi.alumnos )AS alumnos_with_row_id WHERE row_id <= 5 ORDER BY carrera_id ; -- La función RPAD se utiliza para agregar caracteres a la derecha de una cadena. Si la cadena original es más corta que la longitud especificada, se agregarán caracteres a la derecha hasta alcanzar esa longitud.
JAVIER SANTIAGO SALGADO
Anthony Guzman Lopez
Bueno, rpad rellena por la derecha en este ejemplo toma el texto hola y lo va rellenando con * a la derecha
SELECT rpad('hola', id, '*') FROM platzi.alumnos where id <10```
Platzi Team
LPAD se usa principalmente para formatear datos, especialmente cuando necesitas que ciertos valores tengan una longitud fija añadiendo caracteres a la izquierda.
Carlos G
LPAD y RPAD son funciones en SQL utilizadas para agregar caracteres a la izquierda (LPAD) o a la derecha (RPAD) de una cadena hasta alcanzar una longitud específica. A continuación se presentan algunos casos de uso:
Formato de Códigos: Agregar ceros a la izquierda para códigos de producto, asegurando un formato uniforme (ej. '00123').
Visualización de Datos: Formatear números o cadenas para reportes, asegurando un alineado visual.
Llenado de Espacios: Completar cadenas cortas con espacios a la derecha para mantener integridad en columnas de texto.
Estos usos son comunes en la manipulación y presentación de datos en bases de datos.
John jesus Epiquin Castillo
como se usa lpad en sql server?
Carlos G
LPAD no es una función nativa en SQL Server. Sin embargo, puedes lograr un efecto similar usando la función STUFF o CONCAT junto con REPLICATE.
Dario Mendoza
Que función similar puedo usar en SQL ?
Cristian Zerpa
Yo cuando la solución requiere usar windows functions
Humberto Adrián Hernández Maldonado
No encontré su similar en sql de microsoft, la forma en la que lo resolví es con replicate y extrayendo los datos con un right.
<SELECT right((REPLICATE('+', 15) + 'sql'),15) AS 'Line Code' >
Anthony Guzman Lopez
Hola mira en SQL Server si hay, es este:
SET @pad_characters = '0000000000' SELECT RIGHT(@pad_characters + @str, 10)```
Se podría aplicar para presentar un "diagrama de barras comparativas" de una variable, por ejemplo la colegiatura, en el caso que en la capa superior no sea posible.
SELECT CONCAT(nombre, ' ', apellido) ,colegiatura, LPAD('|', CAST(colegiatura AS int)/100, '|') AS coleg_bar FROM platzi.alumnos;
Hola, creo que esta clase puede ser muy útil para tokenizar información sensible de usuarios, comparto la query :)
/* TOKENIZANDO */ SELECT rpad(SUBSTR(nombre, 1, 2),LENGTH(nombre),'*'), nombre, rpad(SUBSTR(apellido, 1, 2),LENGTH(apellido),'*'), apellido, rpad(SUBSTR(email, 1, 2),LENGTH(email),'*'), email FROM platzi.alumnos
Ya me quedo mucho mas claro como funcionan .
< /* right Join todo de la tabla de alumnos */ SELECT a.[nombre] ,a.[apellido] ,a.[carrera_id] ,b.id ,b.carrera FROM [HAHM].[dbo].[platzialumnos] a right join platzicarreras b on a.carrera_id = b.id where b.carrera is not null order by carrera desc /* Left Join todo de la tabla de alumnos */ SELECT a.[nombre] ,a.[apellido] ,a.[carrera_id] ,b.id ,b.carrera FROM [HAHM].[dbo].[platzialumnos] a left join platzicarreras b on a.carrera_id = b.id where b.id is not null order by carrera desc /* inner Join todo lo que coincida en ambas tablas */ SELECT a.[nombre] ,a.[apellido] ,a.[carrera_id] ,b.id ,b.carrera FROM [HAHM].[dbo].[platzialumnos] a inner join platzicarreras b on a.carrera_id = b.id order by carrera desc /* Full Join */ SELECT a.[nombre] ,a.[apellido] ,a.[carrera_id] ,b.id ,b.carrera FROM [HAHM].[dbo].[platzialumnos] a full join platzicarreras b on a.carrera_id = b.id order by carrera desc >
SELECT rpad('sql', 15, '*'); SELECT rpad('sql', id, '*') FROM platzi.alumnos WHERE id <= 10; SELECT rpad('*', id, '*') FROM platzi.alumnos WHERE id <= 10; SELECT rpad('*', id, '*') FROM platzi.alumnos WHERE id <= 10 ORDER BY carrera_id; SELECT rpad('*', CAST(row_id AS int), '*') FROM ( SELECT ROW_NUMBER() OVER(ORDER BY carrera_id) AS row_id, * FROM platzi.alumnos ) AS alumnos_with_row_id WHERE row_id <= 10 ORDER BY carrera_id; SELECT lpad('*|*', CAST(row_id AS int), 'Soy un relleno que va a la izquierda'), rpad('*|*', CAST(row_id AS int), 'Soy un relleno que va a la derecha') FROM ( SELECT ROW_NUMBER() OVER(ORDER BY carrera_id) AS row_id, * FROM platzi.alumnos ) AS alumnos_with_row_id WHERE row_id <= 50 ORDER BY carrera_id;