В MySQL, LPAD()
функцията ви позволява да допълвате лявата част на низ с един или повече символи.
Начинът, по който работи, е, че определяте низа за подпълване, дължината на запълването, както и низа от знаци, които да използвате за допълването.
Синтаксис
Синтаксисът е така:
LPAD(str,len,padstr)
Където str
е низът за подплата, len
е желаната дължина на низа в знаци, след като всички допълвания са били приложени, и padstr
е низът, с който да го подложите.
Пример 1 – Основна употреба
Ето пример за допълване на лявата част на низ със знака звездичка:
SELECT LPAD('Cat', 6, '*') AS Result;
Резултат:
+--------+ | Result | +--------+ | ***Cat | +--------+
В този пример вторият аргумент е 6
, което означава, че целият низ трябва да бъде с дължина 6 знака, след като е приложено цялото допълване. Третият аргумент указва кой знак да се използва за запълване.
Така че в този случай, ако искаме само една звездичка, можем да направим това:
SELECT LPAD('Cat', 4, '*') AS Result;
Резултат:
+--------+ | Result | +--------+ | *Cat | +--------+
Пример 2 – Множество символа
Не сте ограничени само до един знак. Можете да допълвате низ с произволен брой знаци.
Например, можем да вземем предишния пример и да добавим интервал след звездичката:
SELECT LPAD('Cat', 5, '* ') AS Result;
Резултат:
+--------+ | Result | +--------+ | * Cat | +--------+
Имайте предвид, че също така увеличихме броя на знаците до 5
за да побере допълнителния символ.
Ето още един пример за използване на различни знаци:
SELECT LPAD('!', 15, 'Blah ') AS Result;
Резултат:
+-----------------+ | Result | +-----------------+ | Blah Blah Blah! | +-----------------+
Пример 3 – Вторият аргумент е твърде малък
Ако стойността на втория аргумент е твърде малка, може да се окажете без подпълване:
SELECT LPAD('Cat', 3, '*') AS Result;
Резултат:
+--------+ | Result | +--------+ | Cat | +--------+
В други случаи може да се окаже, че низът за подпълване бъде скъсен или дори да отрежете оригиналния низ:
SELECT LPAD('Cat', 6, 'Puddy '), LPAD('Cat', 2, 'Puddy ');
Резултат:
+--------------------------+--------------------------+ | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') | +--------------------------+--------------------------+ | PudCat | Ca | +--------------------------+--------------------------+
Имайте предвид, че тези примери са само за демонстрационни цели. В повечето случаи не бихте използвали LPAD()
просто да съедините две думи заедно. За да направите това, е по-добре да използвате CONCAT()
вместо това.
Пример 4 – Пример за база данни
Ето пример за избор на данни от база данни и добавянето им от лявата й страна:
SELECT Genre, LPAD(Genre, 10, '.') FROM Genres;
Резултат:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+