要静心。要有爱。

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

上一篇 / 下一篇  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:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-08  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 901
  • 日志数: 22
  • 图片数: 3
  • 建立时间: 2008-03-15
  • 更新时间: 2008-06-26

RSS订阅

Open Toolbar