要得到一个指标:
DECODE( TRANSLATE(your_number,'0123456789',' ')
例如
SQL> select DECODE( TRANSLATE('12345zzz_not_numberee','0123456789',' '), NULL, 'number','contains char')
2 from dual
3 /
"contains char"
和
SQL> select DECODE( TRANSLATE('12345','0123456789',' '), NULL, 'number','contains char')
2 from dual
3 /
"number"
Oracle 11g具有正则表达式,因此您可以使用此表达式获取实际数字:
SQL> SELECT colA
2 FROM t1
3 WHERE REGEXP_LIKE(colA, '[[:digit:]]');
COL1
----------
47845
48543
12
...
如果有一个非数字值,如’23g’,它将被忽略.