为了账号安全,请及时绑定邮箱和手机立即绑定

oracle判断字符串是否为数字?

/ 猿问

oracle判断字符串是否为数字?

12345678_0001 2019-02-20 15:11:48

oracle判断字符串是否为数字


查看完整描述

2 回答

?
尚方宝剑之说

正则表达式

ORACLE查出列为纯数字的值:
SELECT* FROM DUAL WHERE LENGTH('LSS12345') = LENGTH(REGEXP_REPLACE('LSS12345', '[^0-9]'))



查看完整回答
反对 回复 2019-03-26
?
阿波罗的战车
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758可以使用正则表达式的方式来判断。 REGEXP_LIKE( 字段 , '(^[+-]?\d{0,}\.?\d{0,}$)'来判断 是否是数字  SQL> SELECT NULL  2  FROM dual  3  WHERE REGEXP_LIKE(NULL,'(^[+-]?\d{0,}\.?\d{0,}$)'); 未选定行 SQL> SQL> SELECT 'Abc'   2  FROM dual  3  WHERE REGEXP_LIKE('Abc','(^[+-]?\d{0,}\.?\d{0,}$)'); 未选定行 SQL> SQL> SELECT '100'   2  FROM dual  3  WHERE REGEXP_LIKE('100','(^[+-]?\d{0,}\.?\d{0,}$)'); '10---100 SQL> SQL> SELECT '-100  2  FROM dual  3  WHERE REGEXP_LIKE('-100','(^[+-]?\d{0,}\.?\d{0,}$)'); '-10-----100 SQL> SQL> SELECT '.01'   2  FROM dual  3  WHERE REGEXP_LIKE('.01','(^[+-]?\d{0,}\.?\d{0,}$)'); '.0---.01 SQL> SQL> SELECT '1995-10-1  2  FROM dual  3  WHERE REGEXP_LIKE('1995-10-1','(^[+-]?\d{0,}\.?\d{0,}$)'); 未选定行 SQL> SQL> SELECT '1/20/95  2  FROM dual  3  WHERE REGEXP_LIKE('1/20/95','(^[+-]?\d{0,}\.?\d{0,}$)'); 未选定行



查看完整回答
反对 回复 2019-03-26

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信