oracle 截取字符串中的特定部分substr,instr

oplog是cbob类型,数据有可能是下面的:
------数据1-----
[基本警情框]
警情编号=20160---0017G0080
接警时间=2016-03-14 02:27:23
报警类型=110
联系电话=1897------01
身份及其它=男
值班长=黄平
原始警情性质=问电话
标志建筑=--省---镇;020乡道附近;中心洲、麻子坜、袁屋
[警情特征]
新添警情内容=来电人称:
新添处警情况=
[数字录音]
录音号=2016031401100019D 02:27:23
录音号=2016031401100019D 02:28:07

------数据2-----

[基本警情框]
警情编号=2016---40001H0020
接警时间=2016-03-14 00:01:12
报警类型=110
联系电话=1501---6228
身份及其它=男
值班长=
[警情特征]
新添警情内容=来电人称:
新添处警情况=

----------------
需要取数据中含有 标志建筑 的内容部分

select oplog from jqcase t WHERE T.JQTIME>='2016-03-14 00:00:00'  and oplog like '%标志建筑=%'

select jqno,jqtime,oplog,substr(oplog,(instr(oplog,'标志建筑=')),((instr(oplog,'[警情特征]')-(instr(oplog,'标志建筑='))))) from jqcase t
 WHERE T.JQTIME>='2016-03-14 00:00:00' --and oplog like '%标志建筑=%' and


select jqno,jqtime,oplog ,case when (instr(oplog,'标志建筑='))>0 then substr(oplog,(instr(oplog,'标志建筑=')),((instr(oplog,'[警情特征]')-(instr(oplog,'标志建筑='))))) else '' end
 from jqcase t
 WHERE T.JQTIME>='2016-03-14 00:00:00' --and oplog like '%标志建筑=%'

----------final SQL-----------
select jqno,jqtime,oplog ,case when (instr(oplog,'标志建筑='))>0 then substr(oplog,(instr(oplog,'标志建筑=')+5),((instr(oplog,'[警情特征]')-(instr(oplog,'标志建筑='))-5))) else '' end
 from jqcase t
 WHERE T.JQTIME>='2016-03-14 00:00:00' --and oplog like '%标志建筑=%'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值