L'approssimazione standard più vicina a printf per Oracle che mi viene in mente è utl_lms.format_message . Tuttavia, non funzionerà nelle istruzioni SQL, ovvero va bene:
begin
dbms_output.put_line(
utl_lms.format_message('hello %s, the number is %d', 'world', 42)
);
end;
/
ma questo fornisce un ORA-00902:tipo di dati non valido errore:
select utl_lms.format_message('hello %s, the number is %d', 'world', 42)
from dual