(一)判断字符串是否是数字
1、oracle
参考资料
方法一 :
返回值为NULL的表示字符串,返回值大于等于1的表示有非数字字符
select lengthb(ltrim( '1248346 ', '0123456789 ')) from dual;
或
select lengthb(rtrim( '1248346a ', '0123456789 ')) from dual;
方法二 :
返回值为NULL的表示字符串,返回值大于等于1的表示有非数字字符
select translate( '123 ', '0123456789 ', ' ') from dual
获取字符串中数字部分
参考资料
select translate('1212中国2323','0123456789'||'1212中国2323','0123456789') from dual;
select regexp_replace('23456中国3-00=.,45','[^0-9]') from dual;
2、mysql
SELECT * FROM TEST WHERE RESULT REGEXP '(^[0-9]+.[0-9]+$)|(^[0-9]$)'