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

Cómo funciona la función RPAD() en MySQL

En MySQL, el RPAD() La función le permite rellenar la parte derecha de una cadena con uno o más caracteres.

La forma en que funciona es que especifica la cadena para rellenar, la longitud del relleno, así como la cadena de caracteres que se usará para el relleno.

Sintaxis

La sintaxis es así:

RPAD(str,len,padstr)

Donde str es la cadena para rellenar, 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 1:uso básico

Aquí hay un ejemplo de cómo rellenar la parte derecha de una cadena con un signo de exclamación:

SELECT RPAD('Cat', 6, '!') AS Result;

Resultado:

+--------+
| Result |
+--------+
| Cat!!! |
+--------+

En este ejemplo, el segundo argumento es 6 , lo que significa que toda la cadena debe tener una longitud de 6 caracteres después de que se haya aplicado todo el relleno. El tercer argumento especifica qué carácter usar para el relleno.

Entonces, en este caso, si solo queremos un signo de exclamación, podemos hacer esto:

SELECT RPAD('Cat', 4, '!') AS Result;

Resultado:

+--------+
| Result |
+--------+
| Cat!   |
+--------+

Ejemplo 2:varios caracteres

No estás limitado a un solo personaje. Puede rellenar una cadena con cualquier número de caracteres.

Por ejemplo, podríamos tomar el ejemplo anterior y agregar un espacio antes del signo de exclamación:

SELECT RPAD('Cat', 5, ' !') AS Result;

Resultado:

+--------+
| Result |
+--------+
| Cat !  |
+--------+

Tenga en cuenta que también aumentamos el número de caracteres a 5 para acomodar el carácter extra.

Aquí hay otro ejemplo usando diferentes caracteres:

SELECT RPAD('Dog', 7, 'gone') AS Result;

Resultado:

+---------+
| Result  |
+---------+
| Doggone |
+---------+

Ejemplo 3:el segundo argumento es demasiado pequeño

Si el valor del segundo argumento es demasiado pequeño, podría terminar sin relleno:

SELECT RPAD('Cat', 3, '!') AS Result;

Resultado:

+--------+
| Result |
+--------+
| Cat    |
+--------+

En otros casos, podría terminar con la cadena de relleno cortada, o incluso podría cortar la cadena original:

SELECT 
  RPAD('Dog', 6, 'gone'),
  RPAD('Dog', 2, 'gone');

Resultado:

+------------------------+------------------------+
| RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') |
+------------------------+------------------------+
| Doggon                 | Do                     |
+------------------------+------------------------+

Tenga en cuenta que estos ejemplos son solo para fines de demostración. En la mayoría de los casos, no usaría RPAD() simplemente unir dos palabras. Para hacer eso, sería mejor usar CONCAT() en su lugar.

Ejemplo 4:un ejemplo de base de datos

Aquí hay un ejemplo de cómo seleccionar datos de una base de datos y rellenarlos en su lado derecho:

SELECT ArtistName, RPAD(ArtistName, 20, '.')
FROM Artists;

Resultado:

+------------------------+---------------------------+
| ArtistName             | RPAD(ArtistName, 20, '.') |
+------------------------+---------------------------+
| Iron Maiden            | Iron Maiden.........      |
| AC/DC                  | AC/DC...............      |
| Allan Holdsworth       | Allan Holdsworth....      |
| Buddy Rich             | Buddy Rich..........      |
| Devin Townsend         | Devin Townsend......      |
| Jim Reeves             | Jim Reeves..........      |
| Tom Jones              | Tom Jones...........      |
| Maroon 5               | Maroon 5............      |
| The Script             | The Script..........      |
| Lit                    | Lit.................      |
| Black Sabbath          | Black Sabbath.......      |
| Michael Learns to Rock | Michael Learns to Ro      |
| Carabao                | Carabao.............      |
| Karnivool              | Karnivool...........      |
| Birds of Tokyo         | Birds of Tokyo......      |
| Bodyjar                | Bodyjar.............      |
+------------------------+---------------------------+