Обратите внимание, что регулярные выражения или подходы к функциям в несколько раз медленнее, чем простое условие sql .
Так что некоторые эвристические обходные пути с ограниченной применимостью имеют смысл для огромных сканирований.
Там решение для случаев, когда вы точно знаете, что нечисловые значения будут содержать буквенные буквы:
select case when upper(dummy)=lower(dummy) then '~numeric' else '~alpabetic' end from dual
И если вы знаете, что какая-то буква всегда будет присутствовать в нечисловомпадежи:
select case when instr(dummy, 'X')>0 then '~alpabetic' else '~numeric' end from dual
Когда числовые падежи всегда будут содержать ноль:
select case when instr(dummy, '0')=0 then '~alpabetic' else '~numeric' end from dual