PL/SQL: isNumeric ?
Existe uma maneira simples de verificar em PL/SQL, se o conteúdo de uma variável é numérica ou não:
LENGTH(TRIM(TRANSLATE(<string>, '.+-0123456789', ' ')))
Exemplos:
LENGTH(TRIM(TRANSLATE('943', '.+-0123456789', ' ')))
retorna NULL = NUMERICO
LENGTH(TRIM(TRANSLATE('-13', '.+-0123456789', ' ')))
retorna NULL = NUMERICO
LENGTH(TRIM(TRANSLATE('teste1', '.+-0123456789', ' ')))
retorna 5 = ALFANUMÉRICO
LENGTH(TRIM(TRANSLATE('t1', '.+-0123456789', ' ')))
retorna 1 = ALFANUMÉRICO
Ou seja, se retonar NULL é numérico, senão, Alfanumérico.
Fica a dica !
Abraço