Справочник по функциям

FORMAT

Собирает строку по шаблону, подставляя значения на места %s, %I и %L.

PostgreSQL 17.5
FORMAT(format_string[, value, ...])

Параметры

format_stringtext
Шаблон: %s — значение как текст, %I — имя в двойных кавычках, %L — значение в одинарных кавычках, %% — знак процента
valueнеобязательный
Значения для подстановки по порядку

Возвращаемое значение

Строка (text)

Примеры

Подстановка значений в шаблон

PostgreSQL 17.5
SELECT FORMAT('Hello, %s! You have %s new messages', 'Ann', 5) AS greeting;
greeting
Hello, Ann! You have 5 new messages

Имя со статусом и выравнивание

PostgreSQL 17.5
SELECT FORMAT('%s (%s)', member_name, status) AS member,
	FORMAT('%-10s|', status) AS padded
FROM FamilyMembers;
memberpadded
Headley Quincey (father)father |
Flavia Quincey (mother)mother |
Andie Quincey (son)son |
Lela Quincey (daughter)daughter |
Annie Quincey (daughter)daughter |
Ernest Forrest (father)father |
Constance Forrest (mother)mother |
Wednesday Addams (daughter)daughter |

NULL, строка в кавычках и имя

PostgreSQL 17.5
SELECT FORMAT('%s and %s', 'a', NULL) AS with_null,
	FORMAT('%L', 'O''Neil') AS literal,
	FORMAT('%I', 'Order items') AS identifier;
with_nullliteralidentifier
a and 'O''Neil'"Order items"

Подробности

%s вставляет NULL как пустую строку, а %L — как слово NULL. Ширину задают числом после %: %-10s дополняет значение пробелами справа до 10 символов.

В MySQL функция FORMAT делает другое — форматирует число с разделителями разрядов.

Смотрите также