В MySQL, RPAD()
функцията ви позволява да допълвате дясната част на низ с един или повече символи.
Начинът, по който работи, е, че определяте низа за подпълване, дължината на запълването, както и низа от знаци, които да използвате за допълването.
Синтаксис
Синтаксисът е така:
RPAD(str,len,padstr)
Където str
е низът за подплата, len
е желаната дължина на низа в знаци, след като всички допълвания са били приложени, и padstr
е низът, с който да го подложите.
Пример 1 – Основна употреба
Ето пример за допълване на дясната част на низ с удивителен знак:
SELECT RPAD('Cat', 6, '!') AS Result;
Резултат:
+--------+ | Result | +--------+ | Cat!!! | +--------+
В този пример вторият аргумент е 6
, което означава, че целият низ трябва да бъде с дължина 6 знака, след като е приложено цялото допълване. Третият аргумент указва кой знак да се използва за запълване.
Така че в този случай, ако искаме само един удивителен знак, можем да направим това:
SELECT RPAD('Cat', 4, '!') AS Result;
Резултат:
+--------+ | Result | +--------+ | Cat! | +--------+
Пример 2 – Множество символа
Не сте ограничени само до един знак. Можете да допълвате низ с произволен брой знаци.
Например, можем да вземем предишния пример и да добавим интервал преди удивителния знак:
SELECT RPAD('Cat', 5, ' !') AS Result;
Резултат:
+--------+ | Result | +--------+ | Cat ! | +--------+
Имайте предвид, че също така увеличихме броя на знаците до 5
за да побере допълнителния символ.
Ето още един пример за използване на различни знаци:
SELECT RPAD('Dog', 7, 'gone') AS Result;
Резултат:
+---------+ | Result | +---------+ | Doggone | +---------+
Пример 3 – Вторият аргумент е твърде малък
Ако стойността на втория аргумент е твърде малка, може да се окажете без подпълване:
SELECT RPAD('Cat', 3, '!') AS Result;
Резултат:
+--------+ | Result | +--------+ | Cat | +--------+
В други случаи може да се окаже, че низът за подпълване бъде скъсен или дори да отрежете оригиналния низ:
SELECT RPAD('Dog', 6, 'gone'), RPAD('Dog', 2, 'gone');
Резултат:
+------------------------+------------------------+ | RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') | +------------------------+------------------------+ | Doggon | Do | +------------------------+------------------------+
Имайте предвид, че тези примери са само за демонстрационни цели. В повечето случаи не бихте използвали RPAD()
просто да съедините две думи заедно. За да направите това, е по-добре да използвате CONCAT()
вместо това.
Пример 4 – Пример за база данни
Ето пример за избор на данни от база данни и добавянето им от дясната й страна:
SELECT ArtistName, RPAD(ArtistName, 20, '.') FROM Artists;
Резултат:
+------------------------+---------------------------+ | ArtistName | RPAD(ArtistName, 20, '.') | +------------------------+---------------------------+ | Iron Maiden | Iron Maiden......... | | AC/DC | AC/DC............... | | Allan Holdsworth | Allan Holdsworth.... | | Buddy Rich | Buddy Rich.......... | | Devin Townsend | Devin Townsend...... | | Jim Reeves | Jim Reeves.......... | | Tom Jones | Tom Jones........... | | Maroon 5 | Maroon 5............ | | The Script | The Script.......... | | Lit | Lit................. | | Black Sabbath | Black Sabbath....... | | Michael Learns to Rock | Michael Learns to Ro | | Carabao | Carabao............. | | Karnivool | Karnivool........... | | Birds of Tokyo | Birds of Tokyo...... | | Bodyjar | Bodyjar............. | +------------------------+---------------------------+