finereport 日志数据字符串截取

使用finereport日志数据库中,访问日志表PUBLIC.FR_EXERECORD

的访问内容字段TNAME

相对 其内容进行处理,例如,截取其路径中的模板名称

例如

test/db/测试.cpt

想处理字符串的结果,为测试;把其他多余的都处理掉

处理方法

查找/的位置,进行sutstr()截取,但是SQLite好像不支持字符串位置的查找

find()、instr()不给用

请问大侠们,还有其他方法么?


附一楼 大侠的测试结果

image.png

FineReport 城落满芯 发布于 2018-11-20 21:24 (编辑于 2018-11-21 08:10)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
城落满芯Lv6中级互助
发布于2018-11-29 10:08

曲线解决,放在报表单元格里,然后使用报表函数解决

最佳回答
1
zsh331Lv8专家互助
发布于2018-11-20 22:34(编辑于 2018-11-21 09:36)
select substr("test/db/aaaa测试aaa.cpt",length("test/db/aaaa测试aaa.cpt")-instr(reverse("test/db/aaaa测试aaa.cpt"),"/")+2,instr("test/db/aaaa测试aaa.cpt",".")-length("test/db/aaaa测试aaa.cpt")+instr(reverse("test/db/aaaa测试aaa.cpt"),"/")-2) as T

上面是测试脚本,直接看下面结果...


你把

test/db/aaaa测试aaa.cpt

切换成对应的表字段名..

比如:

select substr(TNAME,length(TNAME)-instr(reverse(TNAME,"/")+2,instr(TNAME,".")-length(TNAME)+instr(reverse(TNAME),"/")-2) as T from FR_EXERECORD


image.png

image.png

  • 城落满芯 城落满芯(提问者) instr()函数不给用哇,亲。
    2018-11-21 08:10 
  • zsh331 zsh331 回复 城落满芯(提问者) 可能是版本太低~SQLite是支持instr()函数额...看补充的截图...
    2018-11-21 09:36 
  • axing axing 回复 zsh331 海哥,楼主说错了,那个日志库是hsql,不是sqlite。
    2018-11-21 09:40 
  • zsh331 zsh331 回复 axing 哦~我说呢~本地运行都KO.. 晚点我再看看..谢谢
    2018-11-21 09:42 
  • 城落满芯 城落满芯(提问者) 回复 zsh331 谢谢你
    2018-11-21 13:17 
  • 1关注人数
  • 3229浏览人数
  • 最后回答于:2018-11-29 10:08
    请选择关闭问题的原因
    确定 取消
    返回顶部