sql >> Base de Datos >  >> RDS >> Mysql

Cómo rellenar una cadena con caracteres iniciales/posteriores en MySQL – LPAD(), RPAD()

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