ORACLE 判别字符串是不是字母数字型

SQL> create view V
  2  as
  3  select ename as data
  4  from emp
  5  where deptno=10
  6  union all
  7  select ename||', $'||cast(sal as varchar2(10))||'.00' as data
  8  from emp
  9  where deptno=20
 10  union all
 11  select ename||cast(sal as varchar2(20)) as data
 12  from emp
 13  where deptno=30
 14  ;

View created.

SQL> select * from V;

DATA
------------------------------
CLARK
KING
MILLER
SMITH, $800.00
JONES, $2975.00
SCOTT, $3000.00
ADAMS, $1100.00
FORD, $3000.00
ALLEN1600
WARD1250
MARTIN1250

DATA
------------------------------
BLAKE2850
TURNER1500
JAMES950

14 rows selected.

现在要求查询出为字母数字型的行,也就是说3-7要去掉,因为其中除了字母和数字还包含了其他字符。

SQL> select data
  2  from V
  3  where translate(lower(data),'0123456789abcdefghijklmnopqrstuvwxyz',rpad('z',36,'z'))=
  4  rpad('z',length(data),'z');

DATA
------------------------------
CLARK
KING
MILLER
ALLEN1600
WARD1250
MARTIN1250
BLAKE2850
TURNER1500
JAMES950

9 rows selected.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值