A veces es necesario rellenar una cadena con espacios. O tal vez lo rellenarás con otro personaje. A veces es necesario rellenarlo a la izquierda. Otras veces necesitas rellenarlo a la derecha. O tal vez necesites almohadillarlo en ambos lados.
Todo lo anterior se puede hacer en MySQL usando LPAD()
y/o RPAD()
funciones de cadena.
Sintaxis
La sintaxis de cada una de estas funciones es así:
LPAD(str,len,padstr) RPAD(str,len,padstr)
Donde str
es la cadena que necesita relleno, len
es la longitud deseada de la cadena en caracteres después de que se haya aplicado todo el relleno, y padstr
es la cuerda para rellenarlo.
Ejemplo:LPAD()
Aquí hay un ejemplo de relleno del lado izquierdo de una cadena:
SELECT LPAD('Cat', 6, '*') AS Result;
Resultado:
+--------+ | Result | +--------+ | ***Cat | +--------+
En este ejemplo, rellenamos la cadena con el carácter de asterisco (*
). También especificamos 6
, lo que significa que la cadena completa debe tener una longitud de 6 caracteres después de que se haya aplicado todo el relleno.
Entonces, si cambiamos el 6
decir, 10
, esto es lo que sucede:
SELECT LPAD('Cat', 10, '*') AS Result;
Resultado:
+------------+ | Result | +------------+ | *******Cat | +------------+
Ejemplo:RPAD()
El RPAD()
la función funciona exactamente igual que LPAD()
, con la excepción de que agrega los caracteres a la derecha lado de la cuerda:
SELECT RPAD('Cat', 6, '*') AS Result;
Resultado:
+--------+ | Result | +--------+ | Cat*** | +--------+
Ejemplo:ambos
Puede usar ambas funciones juntas para rellenar una cuerda en ambos lados. Para hacer esto, simplemente pase una función a la otra como argumento.
Así:
SELECT LPAD(RPAD('Cat', 6, '*'), 9, '*') AS Result;
Resultado:
+-----------+ | Result | +-----------+ | ***Cat*** | +-----------+
Múltiples Personajes
No estás limitado a un solo personaje. Puede rellenar una cadena con cualquier número de caracteres. He aquí un ejemplo:
SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;
Resultado:
+--------------------------------+ | Result | +--------------------------------+ | She Loves Me Yeah! Yeah! Yeah! | +--------------------------------+