ITPub博客

首页 > 应用开发 > IT综合 > 判断一个字符串是否全由数字组成

判断一个字符串是否全由数字组成

原创 IT综合 作者:flhs 时间:2007-04-17 14:26:49 0 删除 编辑

select nvl2(translate('81726ad76','1234567890',''),'is characters','is number') from dual;

返回 'is characters'

select nvl2(translate('8172217976','1234567890',''),'is characters','is number') from dual;

返回 'is number'

这两句SQL里在c2的最前面有个反斜杠,c3就是一个反斜杠,ITPUB的BLOG输不进反斜杠。

[@more@]

解释:

TRANSLATE(c1,c2,c3) 将c1中与c2相同的字符以c3代替

example:
SQL> select TRANSLATE('fumble','uf','ar') test from dual;

TEST
------
ramble

SQL> select translate('8172217976','1234567890','') from dual;

TRANSLATE('8172217976','12345
------------------------------
这里返回空值

如果c2为'xxxxxxxx'的形式,就不管c3是什么值,都把c1里在c2里出现的字符逐个删除,所以,用任何数字组成的字符串去和'1234567890'做比较,最终的结果都是空。

NVL2 (expr1, expr2, expr3) 如果expr1为非空,则返回expr2,如果expr1为NULL,则返回expr3

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

下一篇: 获得耗CPU的SQL
请登录后发表评论 登录
全部评论
  • 博文量
    54
  • 访问量
    220578