2009/9/9 Alvaro Herrera <[email protected]>: > Pavel Stehule escribió: >> 2009/9/9 Alvaro Herrera <[email protected]>: >> > 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 ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
