数据库查询使用正则表达式

REGEXP_REPLACE正则表达式替换

 

应用举例1

应用思路:将字符串中的全部数字替换成%,抽取特征码 以形成问题模式

应用实现:REGEXP_REPLACE(WO.REMARKS,'[0-9]+','%')

 

具体如下:

--新增问题模式
    SELECT 7000,REGEXP_REPLACE(WO.REMARKS,'[0-9]+','%') 问题模式, COUNT(1) cnt
      --into vCnt
      FROM WO, SO
     WHERE 1 = 1
       AND NOT EXISTS (SELECT 1 FROM ISSUE_PATTERN IP WHERE IP.ITEM_ID =7 AND STS ='A' AND WO.REMARKS LIKE '%'||IP.PATTERN_STR||'%')
       AND WO.SO_NBR =SO.SO_NBR
       AND (WO.RUN_STS ='D' AND WO.BUSI_STS ='I')
       AND SO.SO_STS NOT IN('C','R')
       AND SO.STS ='A'
       GROUP BY REGEXP_REPLACE(WO.REMARKS,'[0-9]+','%')
       
ORDER BY cnt DESC

 

应用举例2 

--将所有客户服务编码为581 但业务名称定义成[***解锁]的改成[***加锁]
UPDATE BUSINESS B
 SET NAME = REGEXP_REPLACE(B.NAME,'解锁','加锁')
 WHERE 1 = 1
   AND B.CHG_SERV_SPEC_ID IN (581)

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值