В последнее время я обнаружил, что приведенный ниже код ведет себя не так, как я ожидал. Для приведенного ниже кода я ожидаю, что v_result возвращает "1234567890 {test}". Однако недавно, когда мы обновились до Oracle DB 19 c, v_result возвращает '{test} 7890'. Кто-нибудь знает причину этого? Есть ли какая-либо функция обновления БД, о которой я не знаю? Кроме того, каким должно быть решение?
declare
v_result varchar2(1000);
v_open_tag varchar2(1);
v_close_tag varchar2(1);
v_string clob;
v_string2 varchar2(10);
begin
v_string := '1234567890';
v_string2 := '{test}';
v_result := v_open_tag || v_string || v_close_tag || v_string2;
dbms_output.put_line('v_result='||v_result);
end;