Вот как я понял вопрос. Посмотрите, поможет ли это; следуйте комментариям в коде:
SQL> with
2 data (col) as
3 -- sample data:
4 -- 123LITTlefOOT results in Typ=96 Len=13: 49,50,51,76,73,84,84,108,101,102,79,79,84
5 -- where marked values are > 96 --- --- ---
6 --
7 -- BIG997FOOT results in Typ=96 Len=10: 66,73,71,57,57,55,70,79,79,84 which is OK
8 (select '123LITTlefOOT' from dual union all
9 select 'BIG997FOOT' from dual
10 ),
11 test as
12 -- DUMP of sample data
13 (select col,
14 dump(col) dmp
15 from data
16 ),
17 -- remove TYP=XX Len=yy
18 test2 as
19 (select col,
20 dmp,
21 trim(substr(dmp, instr(dmp, ':') + 1)) tdmp
22 from test
23 ),
24 -- split TDMP into rows
25 trows as
26 (select col,
27 dmp,
28 regexp_substr(tdmp, '[^,]+', 1, column_value) str
29 from test2 cross join table(cast(multiset(select level from dual
30 connect by level <= regexp_count(tdmp, ',') + 1
31 ) as sys.odcinumberlist))
32 )
33 select distinct col, dmp
34 from trows
35 where to_number(str) > 96;
COL DMP
------------- ------------------------------------------------------------
123LITTlefOOT Typ=1 Len=13: 49,50,51,76,73,84,84,108,101,102,79,79,84
SQL>