В 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“