Когато работите с MySQL, понякога може да срещнете ситуации, в които трябва да добавите куп числа с водещи нули.
Може би имате изискване всички числа да имат три цифри, но в предоставените от вас данни числата варират от една цифра, до две и може би три цифри. Вашето изискване може да бъде да попълните всички числа с водещи нули, но само за да компенсирате липсата на изискването за три цифри.
LPAD()
функция прави точно това, което искате в този сценарий.
Функцията LPAD()
Строго погледнато, LPAD()
функцията допълва низ с друг низ. Работи така:
LPAD(str,len,padstr)
Където str
е низът за подплата, len
е необходимата дължина на крайния резултат и padstr
е низът, който ще се използва за допълване на другия низ.
Пример
Ето пример за допълване на едноцифрено число с две нули:
ИЗБЕРЕТЕ LPAD(7, 3, 0);
Резултат:
+---------------+| LPAD(7, 3, 0) |+--------------+| 007 |+---------------+
В този случай бяха добавени две водещи нули, защото посочихме 3
като необходимата дължина.
Така че, ако започнем с двуцифрено число, се добавя само една нула:
ИЗБЕРЕТЕ LPAD(17, 3, 0);
Резултат:
+----------------+| LPAD(17, 3, 0) |+----------------+| 017 |+----------------+
Ненулеви стойности
LPAD()
функцията не е ограничена само до нули. Както споменахме, може да се използва за подреждане на всеки низ с всеки друг низ. Така че можете да допълните число с водещи 1 или водещи букви или други символи, ако е необходимо.
ИЗБЕРЕТЕ LPAD(7, 10, '.');
Резултат:
+-----------------+| LPAD(7, 10, '.') |+-----------------+| .........7 |+-----------------+
И тъй като всъщност е низова функция, тя може да се използва за допълване на всеки нечислов низ. И не се ограничава само до един допълнителен знак – може да бъде допълнен с няколко знака, ако е необходимо:
ИЗБЕРЕТЕ LPAD('Котка', 21, 'Мяу!') КАТО резултат;
Резултат:
<пред>+-----------------------+| Резултат |+-----------------------+| Мяу! Мяу! Мяу! Котка |+-----------------------+