FORMAT
Собирает строку по шаблону, подставляя значения на места %s, %I и %L.
PostgreSQL 17.9
FORMAT(format_string[, value, ...])- [ ]необязательная часть
- ...можно повторить
- format_string
- Шаблон с местами подстановки значенийtext
- value
- Значения для подстановки по порядкуНеобязательный
Возвращаемое значение
Строка (text)
Примеры
Подстановка значений в шаблон
PostgreSQL 17.9
SELECT FORMAT('Hello, %s! You have %s new messages', 'Ann', 5) AS greeting;Имя со статусом и выравнивание
PostgreSQL 17.9
SELECT FORMAT('%s (%s)', member_name, status) AS member,
FORMAT('%-10s|', status) AS padded
FROM FamilyMembers;NULL, строка в кавычках и имя
PostgreSQL 17.9
SELECT FORMAT('%s and %s', 'a', NULL) AS with_null,
FORMAT('%L', 'O''Neil') AS literal,
FORMAT('%I', 'Order items') AS identifier;Подробности
%s вставляет значение как текст, %L — как строковую константу в одинарных кавычках, а %I — как имя таблицы или столбца: в двойных кавычках, только если без них нельзя, например из-за пробела, заглавных букв или ключевого слова. FORMAT('%I', 'foo') вернёт foo, а FORMAT('%I', 'Order items') — "Order items". %% выводит знак процента.
%s вставляет NULL как пустую строку, а %L — как слово NULL без кавычек. Ширину задают числом после %: %-10s дополняет значение пробелами справа до 10 символов.
В MySQL функция FORMAT делает другое — форматирует число с разделителями разрядов.