unit
123create or replace function fib(
f in varchar2
)return boolean is
str varchar2(100):='';
str1 varchar2(100):='';
cout number := 0;
begin
str1 := f;
str1 := upper(replace(str1,' ',''));
for i in reverse 1..length(str1) loop
str := str||substr(str1,i,1);
end loop;
for i in 1..length(str1) loop
if(substr(str,i,1)=substr(str1,i,1))
then cout := cout + 1;
end if;
end loop;
return (cout = length(str1));
end;
declare
res boolean;
num varchar(100) := 'А роза упала на лапу Азора';
begin
res := fib(num);
if(SYS.DIUTIL.BOOL_TO_INT(res) = 0)
then dbms_output.put_line('Не палиндром');
else dbms_output.put_line('Палиндром');
end if;
end;