mysql 变量定义 sql查询

数据库   发布日期:2025年05月26日   浏览次数:177
  1. SET @idnoStr:='"idNo":"';
  2. SELECT LOCATE(@idnoStr, param_array),
  3. LOCATE('",', param_array,LOCATE('"idNo":"', param_array)),
  4. SUBSTR(param_array,LOCATE('"idNo":"', param_array),
  5. LOCATE('",', param_array,LOCATE('"idNo":"', param_array))-LOCATE('"idNo":"', param_array)
  6. )
  7. param_array FROM t_gl_adapter_param_input
  8. where creat_time BETWEEN '2018-12-01 16:37:41' and '2019-01-01 23:59:59'
  9. and service_type='qianhaiHaoxinduHcService'
  10. and param_array like '{"app%'

  见第一行;

分析号码,并得出结果:

  1. -- BEGIN
  2. -- DECLARE idnoStr VARCHAR(8);
  3. SET @idnoStr:='"idNo":"';
  4. SELECT aa.serial_num,tmp_seqid_qh.*,d.content FROM
  5. (SELECT serial_num,
  6. SUBSTR(param_array,
  7. LOCATE(@idnoStr, param_array)+8,
  8. LOCATE('",', param_array,LOCATE(@idnoStr, param_array))-LOCATE(@idnoStr, param_array)-8
  9. )
  10. idno FROM t_gl_adapter_param_input
  11. where creat_time BETWEEN '2018-12-01 16:37:41' and '2019-01-01 23:59:59'
  12. and service_type='qianhaiHaoxinduHcService'
  13. and param_array like '{"app%'
  14. ) aa INNER JOIN tmp_seqid_qh on tmp_seqid_qh.idno=aa.idno
  15. left join t_gl_adapter_param_record_content d on aa.serial_num = d.serial_num
  16. HAVING d.content LIKE '{"bat%'
  17. -- and param_array like (select idno from tmp_seqid_qh)
  18. -- END

  步骤:

一、导入临时表

1、建表,在ext 菜单中建立;

2、在测试类中生产批量插入语句;

insert into tmp_seqid_qh(loanid,seqid,idno)values('NXJ18060111117ZG5U','1528091231073490S180F4F2C4523762','230307197101014010'); 

3、导入在当前表菜单中导入;

4、写sql,在工具里导出XML;

5、用测试类分析xml并生成Excel数据语句;粘贴到Excel;

  1. SET @idnoStr:='"sequence_id":"';
  2. SET @len:=LENGTH(@idnoStr);
  3. select
  4. a.serial_num,
  5. a.seq_id,
  6. d.content as record_param
  7. from
  8. (
  9. SELECT
  10. serial_num,
  11. SUBSTR(
  12. param_array,
  13. LOCATE(@idnoStr, param_array) + @len,
  14. LOCATE(
  15. '",',
  16. param_array,
  17. LOCATE(@idnoStr, param_array)
  18. ) - LOCATE(@idnoStr, param_array) - @len
  19. ) seq_id
  20. FROM t_gl_adapter_param_input
  21. where
  22. service_type = 'tongdunRuleDetailAnalysisHcService'
  23. and creat_time BETWEEN '2018-01-01' and '2018-07-01'
  24. and SUBSTR(
  25. param_array,
  26. LOCATE(@idnoStr, param_array) + @len,
  27. LOCATE(
  28. '",',
  29. param_array,
  30. LOCATE(@idnoStr, param_array)
  31. ) - LOCATE(@idnoStr, param_array) - @len
  32. ) in (SELECT tmp_seqid_qh.seqid FROM tmp_seqid_qh WHERE
  33. LENGTH(tmp_seqid_qh.seqid)!='')
  34. order by creat_time desc -- limit 500
  35. ) a
  36. left join t_gl_adapter_param_record_content d on a.serial_num = d.serial_num

  上面的执行太慢,没法使用!!!

以上就是mysql 变量定义 sql查询的详细内容,更多关于mysql 变量定义 sql查询的资料请关注九品源码其它相关文章!