format() with embedded to_char() formatter

Поиск
Список
Период
Сортировка
От Itagaki Takahiro
Тема format() with embedded to_char() formatter
Дата
Msg-id AANLkTikiGxJSmwWX7GQb4EcaO_qZzEaRWX4fXEjJSTf3@mail.gmail.com
обсуждение исходный текст
Ответы Re: format() with embedded to_char() formatter  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: format() with embedded to_char() formatter  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
format() function is very useful to construct formatted text,
but it doesn't support embedded formatter unlike sprintf() in C.
Of course, we can use to_char() functions for each argument value,
but embedded formatter would be more readable.

I'd like to propose %{...}s syntax, where format('%{xxx}s', arg)
is equivalent to format('%s', to_char(arg, 'xxx')). I think the
approach is better than implement C-like formatter because we
can reuse existing to_char() functions for the purpose.

Here are examples for the usage:

=# SELECT format('%{FM0000}s : %{YYYY-MM-DD}L', 123, current_timestamp);      format
---------------------0123 : '2010-11-22'

=# SELECT format('CREATE TABLE partition_%{YYYYMMDD}s () INHERITS
parent',  current_date);                      format
----------------------------------------------------CREATE TABLE partition_20101122 () INHERITS parent

Is it interesting? Comments welcome.

-- 
Itagaki Takahiro


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Latches with weak memory ordering (Re: max_wal_senders must die)
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: Explain analyze getrusage tracking