Вы можете использовать regexp_replace()
, как:
regexp_replace(mycol, '.*\d(m|kg|g|ks|l).*', '\1')
Регулярное выражение ищет одну из предопределенных строк единиц, которой предшествует ди git.
Демонстрация на DB Fiddle :
with t as (
select 'Towels bam.m.3vrs.100%C.80ks' mycol from dual
union all select 'Towels Pet Expert 2x19m,2vrs' from dual
union all select 'Desserts 165g TK' from dual
union all select 'Desserts AM 100g' from dual
)
select mycol, regexp_replace(mycol, '.*\d(m|kg|g|ks|l).*', '\1') myunit from t
MYCOL | MYUNIT
:--------------------------- | :-----
Towels bam.m.3vrs.100%C.80ks | ks
Towels Pet Expert 2x19m,2vrs | m
Desserts 165g TK | g
Desserts AM 100g | g