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! | +--------------------------------+