i am working on a query which will identify certain type of data(unicode) in a column. Please find below search criteria .
with rws as (
select 'abc' s from dual
union all
select 'abc_' s from dual
union all
select 'abc-' s from dual
union all
select 'abc)' s from dual
union all
select 'abc12' s from dual
union all
select 'abc d' s from dual
union all
select 'test]' s from dual
union all
select '[test' s from dual
union all
select 'test|' s from dual
union all
select 'test\' s from dual
union all
select 'test/' s from dual
union all
select 'test<' s from dual
union all
select 'test>' s from dual
union all
select 'test"' s from dual
union all
select '1234' s from dual
union all
SELECT to_char(chr(ascii(UNISTR('\2700')))) FROM dual
union all
SELECT to_char(chr(ascii(UNISTR('\E0000')))) FROM dual
union all
SELECT to_char(chr(ascii(UNISTR('\2460')))) FROM dual
union all
SELECT to_char(chr(ascii(UNISTR('\FF10')))) FROM dual
union all
SELECT to_char(chr(ascii(UNISTR('\1D7CE')))) FROM dual
union all
SELECT to_char(chr(ascii(UNISTR('\3358')))) FROM dual --
union all
--SELECT to_char(chr(ascii(UNISTR('\33FE')))) FROM dual
--union all
SELECT to_char(chr(ascii(UNISTR('\2070')))) FROM dual
union all
SELECT to_char(chr(ascii(UNISTR('\2080')))) FROM dual
)
select * from rws
where regexp_like(s, '[[:digit:][:punct:]]|[^[:alnum:]
/
/
correct query will not return first 4 rows ( "abc","abc"_,"abc-","abc)" ,"abc12" ).
Also, below is the unicode range which need to be identified.