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博客 ” ,链接:/,如需转载,请注明出处,否则将追究法律责任。
转载于:/
本文发布于:2024-02-05 06:09:03,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170725899363704.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |