MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как работи RPAD() в MariaDB

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Популярни Docker изображения за MySQL и MariaDB сървър

  2. MariaDB въвежда функция JSON_TABLE().

  3. Използване на приставката Percona Audit Log Plugin за сигурност на базата данни

  4. Нова версия на MariaDB AX с участието на MariaDB ColumnStore 1.1.3 GA

  5. MariaDB BENCHMARK() Обяснено