Najbliższe standardowe przybliżenie do printf dla Oracle, jakie mogę sobie wyobrazić, to utl_lms.format_message . Jednak nie będzie działać w instrukcjach SQL, co oznacza, że jest w porządku:
begin
dbms_output.put_line(
utl_lms.format_message('hello %s, the number is %d', 'world', 42)
);
end;
/
ale to daje ORA-00902:nieprawidłowy typ danych błąd:
select utl_lms.format_message('hello %s, the number is %d', 'world', 42)
from dual