背景:需要限制用户操作次数,而用户操作次数只有统一的日志表有记录。 并且,因为在批量查询中也需做限制,所有需要一次查询多条数据,保证效率。后来采用视图做的

 

视图

instr 查找字符串,返回起始坐标, 坐标从1开始

substr切割字符串,substr(字符串,起始坐标,长度)

create or replace view v_log as
--用作批量核查时限制次数
select t2."PHONE_NUMBER",t2."TIME",t2."URL",
substr(t2.post_params, instr(t2.post_params, 'reportTime:')+length('reportTime:'), instr(t2.post_params, ',companyName')-instr(t2.post_params, 'reportTime:')-length('reportTime:')) as reportTime,
substr(t2.post_params, instr(t2.post_params, 'companyName:')+length('companyName:'), instr(t2.post_params, ',xyCode')-instr(t2.post_params, 'companyName:')-length('companyName:')) as companyName,
substr(t2.post_params, instr(t2.post_params, 'xyCode:')+length('xyCode:'), instr(t2.post_params, ',zb')-instr(t2.post_params, 'xyCode:')-length('xyCode:')) as xyCode,
substr(t2.post_params, instr(t2.post_params, ',zb:')+length(',zb:'), instr(t2.post_params, ',value')-instr(t2.post_params, ',zb:')-length(',zb:')) as zb,
substr(t2.post_params, instr(t2.post_params, ',type:')+length(',type:'), length(t2.post_params)-instr(t2.post_params, ',type:')-length(',type:')) as type
from user_log t2
where t2.url like '%/check/single';

 

查询结果

oracle字符串提取记录

 

相关文章:

  • 2022-03-11
  • 2022-12-23
  • 2022-12-23
  • 2021-12-12
猜你喜欢
  • 2021-10-09
  • 2022-12-23
  • 2022-12-23
  • 2022-02-09
  • 2021-06-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案