Al trabajar con MySQL, es posible que ocasionalmente encuentre situaciones en las que necesite rellenar un montón de números con ceros a la izquierda.
Quizás tenga el requisito de que todos los números tengan tres dígitos, pero en los datos que se le han proporcionado, los números van desde un solo dígito hasta dos y quizás tres dígitos. Su requisito podría ser completar todos los números con ceros a la izquierda, pero solo para compensar cualquier déficit en el requisito de tres dígitos.
El LPAD()
función hace exactamente lo que quiere en este escenario.
La función LPAD()
Estrictamente hablando, el LPAD()
La función rellena una cadena con otra cadena. Funciona así:
LPAD(str,len,padstr)
Donde str
es la cadena para rellenar, len
es la longitud requerida del resultado final, y padstr
es la cadena que se usará para rellenar la otra cadena.
Ejemplo
Este es un ejemplo de cómo rellenar un número de un solo dígito con dos ceros:
SELECT LPAD(7, 3, 0);
Resultado:
+---------------+ | LPAD(7, 3, 0) | +---------------+ | 007 | +---------------+
En este caso, se agregaron dos ceros a la izquierda porque especificamos 3
como la longitud requerida.
Entonces, si comenzamos con un número de dos dígitos, solo se agrega un cero:
SELECT LPAD(17, 3, 0);
Resultado:
+----------------+ | LPAD(17, 3, 0) | +----------------+ | 017 | +----------------+
Valores distintos de cero
El LPAD()
La función no se limita solo a ceros. Como se mencionó, se puede usar para rellenar cualquier cadena con cualquier otra cadena. De modo que puede rellenar un número con 1 o letras iniciales u otros símbolos si es necesario.
SELECT LPAD(7, 10, '.');
Resultado:
+------------------+ | LPAD(7, 10, '.') | +------------------+ | .........7 | +------------------+
Y debido a que en realidad es una función de cadena, se puede usar para rellenar cualquier cadena no numérica. Y no se limita a un solo carácter de relleno:se puede rellenar con varios caracteres si es necesario:
SELECT LPAD('Cat', 21, 'Meow! ') AS Result;
Resultado:
+-----------------------+ | Result | +-----------------------+ | Meow! Meow! Meow! Cat | +-----------------------+