判断字符串还是数字的方法

以前都是用translate来实现数字还是字符串的判断,显得笨拙而且并不是完全没有漏洞。现在发现Oracle的正则表达式可以很方便的实现这一功能。

例如判断浮点数:
Select * From (
Select '13423423' t From dual
Union
Select '-13423423.22' From dual
Union
Select '13423423a22' From dual
Union
Select 'afafdaf' From dual)
WHERE REGEXP_LIKE(t, '^(-{0,1}|\+{0,1})[0-9]+(\.{0,1}[0-9]+)$')

判断纯数字串:
Select * From (
Select '01' t From dual
Union
Select '13423423' From dual
Union
Select '-13423423.22' From dual
Union
Select '13423423a22' From dual
Union
Select 'afafdaf' From dual)
WHERE REGEXP_LIKE(t, '^([0-9]+)$')

有返回值函数:
Select REGEXP_INSTR('34334534', '^([0-9]+)$') From dual

改用正则表达式方便而且灵活多变了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13490529/viewspace-207516/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13490529/viewspace-207516/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值