Понякога трябва да подпълните низ с интервали. Или може би ще го допълните с друг герой. Понякога трябва да го подложите отляво. Друг път трябва да го подложите отдясно. Или може би трябва да го подплатите от двете страни.
Всичко по-горе може да се направи в MySQL с помощта на LPAD()
и/или RPAD()
низови функции.
Синтаксис
Синтаксисът на всяка от тези функции е така:
LPAD(str,len,padstr) RPAD(str,len,padstr)
Където str
е низът, който се нуждае от допълване, len
е желаната дължина на низа в знаци, след като всички допълвания са били приложени, и padstr
е низът, с който да го подложите.
Пример – LPAD()
Ето пример за допълване на лявата страна на низ:
SELECT LPAD('Cat', 6, '*') AS Result;
Резултат:
+--------+ | Result | +--------+ | ***Cat | +--------+
В този пример допълваме низа със знака звездичка (*
). Посочваме също 6
, което означава, че в крайна сметка целият низ трябва да е с дължина 6 знака, след като е приложено цялото допълване.
Така че, ако променим 6
да се каже, 10
, ето какво се случва:
SELECT LPAD('Cat', 10, '*') AS Result;
Резултат:
+------------+ | Result | +------------+ | *******Cat | +------------+
Пример – RPAD()
RPAD()
функцията работи точно както LPAD()
, с изключение на това, че добавя знаците в дясно страна на низа:
SELECT RPAD('Cat', 6, '*') AS Result;
Резултат:
+--------+ | Result | +--------+ | Cat*** | +--------+
Пример – И двете
Можете да използвате и двете функции заедно, за да добавите низ от двете страни. За да направите това, просто предайте една функция на другата като аргумент.
Като това:
SELECT LPAD(RPAD('Cat', 6, '*'), 9, '*') AS Result;
Резултат:
+-----------+ | Result | +-----------+ | ***Cat*** | +-----------+
Множество знака
Не сте ограничени само до един знак. Можете да допълвате низ с произволен брой знаци. Ето един пример:
SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;
Резултат:
+--------------------------------+ | Result | +--------------------------------+ | She Loves Me Yeah! Yeah! Yeah! | +--------------------------------+