Files
oracle/vdh/strip_characters.sql
2026-03-12 21:23:47 +01:00

42 lines
1.1 KiB
SQL

create or replace package body utils
as
g_bad_chars varchar2(256);
g_a_bad_char varchar2(256);
function strip_bad( p_string in varchar2 ) return varchar2
is
begin
return replace( translate( p_string,
g_bad_chars,
g_a_bad_char
),
substr( g_a_bad_char,
1,
1
),
''
);
end;
begin
for i in 0..255 loop
if ( i not between ascii('a') and ascii('z') AND
i not between ascii('A') and ascii('Z') AND
i not between ascii('0') and ascii('9') )
then
g_bad_chars := g_bad_chars || chr(i);
end if;
end loop;
g_a_bad_char := rpad(
substr(g_bad_chars,1,1),
length(g_bad_chars),
substr(g_bad_chars,1,1));
end;
/