(ORACLE)sql判断一个字段是否全数字 或含有中文及统计某个字段中中文的个数

一、判断一个字段是否全数字 或含有中文

update (select length(t.name), t.* -- name,length(name)  
          from g_enterprise_info t  
         where nvl2(translate(name, '\1234567890 ', '\'),  
                    'is characters ',  
                    'is number ') = 'is number '  
           and asciistr(gszcdjh) like '%\%')  
   set name = gszcdjh,  
       gszcdjh =name ;  

判断一个字段是否全数字

    translate(name, '\1234567890 ', '\')  

判断一个字段是否含有中文

    asciistr(gszcdjh) like '%\%'  

二、在数据中怎么统计某个字段中中文的个数

表dept有如下数据:

Oracle 中 length 求的是字符的长度,lengthb是字节的长度,一个中文是2个字节,数字,字母,标点之类是一个字节。 
  www.2cto.com  

select lengthb(DNAME) from dept;  --


 

select LENGTH(DNAME) from dept;

 

-- 统计字段DNAME中中文的个数

select lengthb(DNAME) - length(DNAME) from dept;



 

ref:      https://blog.csdn.net/lanqibaoer/article/details/45196959

           https://www.2cto.com/database/201303/192482.html


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值