Re: format() with embedded to_char() formatter
От | Pavel Stehule |
---|---|
Тема | Re: format() with embedded to_char() formatter |
Дата | |
Msg-id | AANLkTikFCqyP0-c-49s7dBsSFrqeAumdnCR4Pqa-L_at@mail.gmail.com обсуждение исходный текст |
Ответ на | format() with embedded to_char() formatter (Itagaki Takahiro <itagaki.takahiro@gmail.com>) |
Список | pgsql-hackers |
Hello There is little bit complication. There are no one "to_char" function - so you cannot to use DirectFunctionCall API. but I am not against to this proposal. regards Pavel 2010/11/22 Itagaki Takahiro <itagaki.takahiro@gmail.com>: > 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 > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers >
В списке pgsql-hackers по дате отправления: