要静心。要有爱。
判断字符串还是数字的方法
上一篇 /
下一篇 2008-03-17 14:03:04
/ 个人分类:Oracle
以前都是用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
改用正则表达式方便而且灵活多变了。
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: