Рядки

RPAD

Доповнює рядок справа до потрібної довжини.

Синтаксис

RPAD(<текст>, <довжина>)
RPAD(<текст>, <довжина>, <чим доповнити>)

Дописує символи в кінець, доки рядок не стане потрібної довжини; без третього аргументу — пробілами. Дзеркальна функція — LPAD, вона доповнює зліва. Часто — щоб вирівняти текст у стовпчик або доповнити код до фіксованої довжини.

Дані для прикладів

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

Ці таблиці вже створено в пісочниці — приклади нижче працюють із ними. Хочеш повторити у своїй базі — скопіюй SQL.

Доповнити справа
SELECT RPAD('7', 4, '0') AS zeros,
RPAD('ab', 5, '.') AS dots;
zerosdots
7000ab...
Імена й зарплати в стовпчик
SELECT RPAD(name, 8, '.') || salary AS line
FROM employees;
line
Emma....1200
Liam....1000
Olivia..1350
Noah....950
Sophia..1200

Кожне ім'я доповнене крапками до 8 символів, тож зарплати стоять рівно, як номери сторінок у змісті.

Довший рядок обрізається
SELECT RPAD('PostgreSQL', 4) AS cut;
cut
Post

Зверни увагу

Довший рядок RPAD обріже, а не лишить як є: RPAD('PostgreSQL', 4) дає Post.

Приймає лише текст: RPAD(1, 5, '0') — помилка function rpad(integer, integer, unknown) does not exist. Приведи тип: RPAD(id::text, 5, '0').

Пробіли в кінці результату в таблиці не видно, а вони є: RPAD('ab', 5) — це ab і ще три пробіли.

Схожі функції