В MariaDB, RPAD()
е вградена функция за низ, която допълва дясната част на низ с определен брой определен знак.
Например, можете да използвате RPAD()
за подреждане на дясната част на низ с точки.
Синтаксис
Синтаксисът е така:
RPAD(str, len [, padstr])
Където str
е низът към подложка и len
е броят на знаците, до който трябва да се добави низът. Обърнете внимание, че това не е самото количество запълване, а общият брой знаци, които ще има върнатият низ, след като е бил допълнен.
padstr
е незадължителен аргумент, който определя кой знак да се използва за допълването.
Пример
Ето един основен пример:
SELECT
RPAD('Fire', 8) AS "1",
RPAD('Fire', 15) AS "2",
'Fire' AS "3";
Резултат:
+----------+----------------+-----+| 1 | 2 | 3 |+----------+----------------+-----+| Пожар | Пожар | Пожар |+----------+----------------+-----+
Знакът за интервал е символът по подразбиране. Следователно, ако не включите трети аргумент, се използва интервал. В този случай не посочихме трети аргумент и затова беше използвано интервал.
Този пример връща три колони. Направих това, за да ви улесня да видите ефекта от RPAD()
по-ясно. Допълването има ефект на избутване на ширината на колоната до определената дължина на допълване.
В този случай първите две колони използват две различни дължини на запълване, а третата е оригиналният (неподплатен) низ.
Посочете символ за подреждане
Ето пример, който използва трети аргумент. Това указва какъв знак да се използва за запълване:
SELECT RPAD('Fire', 15, '.');
Резултат:
<пред>+-----------------------+| RPAD('Пожар', 15, '.') |+-----------------------+| Пожар......... |+-----------------------+Точките ни позволяват да виждаме подпълването по-ясно.
Подпълване, по-малко от оригиналния низ
Ако вторият аргумент е по-малък от оригиналния низ, тогава не се добавя допълване и оригиналният низ се съкращава до посочения брой знаци:
SELECT RPAD('Enlightenment', 7);
Резултат:
+-------------------------+| RPAD('Просвещение', 7) |+--------------------------+| Enlight |+------------------------------+
Пример за база данни
Ето пример за допълване на дясната част от стойностите в колона на база данни:
SELECT
RPAD(PetName, 15, '.') AS "Padded Name",
PetName AS "Original Name"
FROM Pets;
Резултат:
+-----------------+--------------+| Подплатено име | Оригинално име |+-----------------+--------------+| Пухкаво......... | Пухкави || Вземи ......... | Извличане || Драскане........ | Надраскване || Размахване............ | Размахване || Tweet......... | Tweet || Пухкаво......... | Пухкави || Кора......... | Кора || Мяу......... | Мяу |+-----------------+--------------+
Нулеви аргументи
Ако някой (или всички) от аргументите са null
, RPAD()
функцията връща null
:
SELECT
RPAD(null, 10, '.'),
RPAD('Coffee', null, '.'),
RPAD('Coffee', 10, null);
Резултат:
+---------------------+----------------------- ---+------------------------+| RPAD(нула, 10, '.') | RPAD('Coffee', null, '.') | RPAD('Coffee', 10, null) |+---------------------+---------------- -----------+------------------------------+| NULL | NULL | NULL |+---------------------+--------------------- --+-------------------------+
Режим Oracle
Когато не работи в режим на Oracle, ако резултатът е празен (т.е. има дължина нула), резултатът е празен низ.
Въпреки това, когато работите в режим на Oracle, резултатът е null
.
Тук е в режим по подразбиране (т.е. не в режим на Oracle):
SELECT RPAD('', 0);
Резултат:
+------------+| RPAD('', 0) |+------------+| |+------------+
Сега нека преминем към режим на Oracle:
SET SQL_MODE=ORACLE;
И стартирайте кода отново:
SELECT RPAD('', 0);
Резултат:
+------------+| RPAD('', 0) |+------------+| NULL |+------------+
Липсващи аргументи
Извикване на RPAD()
без поне два аргумента води до грешка:
SELECT RPAD('Coffee');
Резултат:
ГРЕШКА 1582 (42000):Неправилен брой параметри в извикването на естествената функция „RPAD“
Същото се случва и при извикване на RPAD()
без никакви аргументи:
SELECT RPAD();
Резултат:
ГРЕШКА 1582 (42000):Неправилен брой параметри в извикването на естествената функция „RPAD“