1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| SQL> with t as (
select '12345678' as c from dual union all
select 'sdgdfgdfmfkjskdfljglfdg' from dual
)
select c
, regexp_replace(c, '([[:digit:]]{2})', '\1-' ) as c1
, regexp_replace(c, '([[:alnum:]]{2})', '\1-' ) as c2
from t;
C C1 C2
----------------------- -------------------------------------------------- --------------------------------------------------
12345678 12-34-56-78- 12-34-56-78-
sdgdfgdfmfkjskdfljglfdg sdgdfgdfmfkjskdfljglfdg sd-gd-fg-df-mf-kj-sk-df-lj-gl-fd-g
SQL> |