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