Мне любопытно, почему целое число может быть объединено в строку без использования TO_CHAR
, как показано в следующем примере:
declare
type test_table is table of varchar2(20);
test_session test_table;
begin
with
sessions
as
(select 1 session_num from dual
union
select 2 session_num from dual),
session_concat
as
(select 'Session: ' || session_num
from dual, sessions)
select *
bulk collect into test_session
from session_concat;
end;
/
Конкатенация также работает с ключевым словом CONCAT
вместо оператора ||
и, более того, когда целочисленная переменная объявляется и объединяется (вместо выбора FROM DUAL
).