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

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

En MySQL, el LPAD() La función le permite rellenar la parte izquierda 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í:

LPAD(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 izquierda de una cadena con el carácter de asterisco:

SELECT LPAD('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 asterisco, podemos hacer esto:

SELECT LPAD('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 después del asterisco:

SELECT LPAD('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 LPAD('!', 15, 'Blah ') AS Result;

Resultado:

+-----------------+
| Result          |
+-----------------+
| Blah Blah Blah! |
+-----------------+

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 LPAD('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 
  LPAD('Cat', 6, 'Puddy '),
  LPAD('Cat', 2, 'Puddy ');

Resultado:

+--------------------------+--------------------------+
| LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') |
+--------------------------+--------------------------+
| PudCat                   | Ca                       |
+--------------------------+--------------------------+

Tenga en cuenta que estos ejemplos son solo para fines de demostración. En la mayoría de los casos, no usaría LPAD() 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 izquierdo:

SELECT Genre, LPAD(Genre, 10, '.')
FROM Genres;

Resultado:

+---------+----------------------+
| Genre   | LPAD(Genre, 10, '.') |
+---------+----------------------+
| Rock    | ......Rock           |
| Jazz    | ......Jazz           |
| Country | ...Country           |
| Pop     | .......Pop           |
| Blues   | .....Blues           |
| Hip Hop | ...Hip Hop           |
| Rap     | .......Rap           |
| Punk    | ......Punk           |
+---------+----------------------+