Вы можете использовать функцию ниже
create or replace function str_comparison ( i_String1 varchar2, i_String2 varchar2 )
return pls_integer is
o_result pls_integer;
begin
with t(str1,str2) as
(
select i_String1, i_String2 from dual
), t2(s_str1,s_str2) as
(
select substr(str1,-2*level,2),
substr(str2,-2*level,2)
from t
connect by level <= length(str1)/2
), t3 as
(
select listagg(s_str1) within group ( order by s_str1 )
as str1,
listagg(s_str2) within group ( order by s_str2 )
as str2
from t2
)
select decode(str1,str2,1,0)
into o_result
from t3;
return o_result;
end;
и см. Подстановку AACCFFGGEEBBDD
и AABBCCDDEEFFGG
для аргументов, которые приводят к выводу 1
, показывающие, что эти строки идентичны, когда они упорядочены из-за вашей логики, в противном случае вы получите 0
(ноль).