oracle 匹配汉字数字,在oracle数据库中一字段存在汉字和数字,取数字部分

方法一:regexp_replace

select t.achive_name,regexp_replace(t.achive_name,‘[^0-9]‘) from T_ARCHIVE_CONTENT t where t.plan_id=‘402881ef5f702d62015f7128f2760089‘;

标签:regexp_replace 正则 函数的参数说明:

一共6个参数,分别是

1、待匹配的字符串

2、正则表达式

3、替换的字符

4、标识从第几个字符开始正则表达式匹配。(默认为1)

5、标识第几个匹配组。(默认为全部都替换掉)

6、取值范围:

方法二:regexp_substr

select t.achive_name,regexp_substr(t.achive_name,‘[0-9]+‘) from T_ARCHIVE_CONTENT t ;

方法三:TRANSLATE(‘待替换字符串‘, ‘1234567890‘, ‘ ‘)

即:把待替换字符串中的数字替换为‘’

select t.achive_name,TRIM(TRANSLATE(t.achive_name, trim(TRANSLATE(t.achive_name, ‘1234567890‘, ‘ ‘)), ‘ ‘))

from T_ARCHIVE_CONTENT t ;

方法四:截取字符串  substr(str,0,2)

select t.achive_name,substr(t.achive_name,0,2) from T_ARCHIVE_CONTENT t ;

substr(string,start,length)

参数:

string - 指定的要截取的字符串

start - 必需,规定在字符串的何处开始

正数 - 在字符串的指定位置开始

负数 - 在从字符串结尾的指定位置开始

0 - 在字符串中的第一个字符处开始

length - 可选,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符。

原文:http://www.cnblogs.com/monogo/p/7762546.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值