2009/9/9 Alvaro Herrera <alvhe...@commandprompt.com>: > Pavel Stehule escribió: >> 2009/9/9 Alvaro Herrera <alvhe...@commandprompt.com>: >> > Pavel Stehule escribió: >> > >> >> we are able to write sprintf(text, variadic "any") returns text, but only >> >> in C >> > >> > Hmm, should we provide that function in core? >> >> We should it, but I prefer some pgfoundry or contrib package. sprintf >> is really far to SQL. What more, we knows types, so some format tags >> are useless. Using original sprintf function is possible, but needs >> lot of code, because you need to transform PostgreSQL types to C >> types, and we have not any helping function for this task. >> >> Some similar to plpgsql's RAISE statement is some +/- 20 rows > > I already published a pseudo-sprintf function in the wiki here: > http://wiki.postgresql.org/wiki/Sprintf I'm looking for something > better, not just the same hacks. > > I don't see any good reason that the function needs to be far from core.
what is use case? Why you need sprintf function, when you have || operator. This functionality is redundant and out of standard. What I know, only MySQL has similar function. Please, try to compile and run sprintf function from attachment postgres=# select sprintf('1:% 2:% 3:%', 10,null, 'kuku'); sprintf -------------------- 1:10 2:NULL 3:kuku (1 row) postgres=# select sprintf('Today is %, I am %.', current_date, current_user); sprintf ---------------------------------- Today is 2009-09-09, I am pavel. (1 row) Regards Pavel > > -- > Alvaro Herrera http://www.CommandPrompt.com/ > PostgreSQL Replication, Consulting, Custom Development, 24x7 support >
sprintf.tgz
Description: GNU Zip compressed data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers