首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于blob字段值的Oracle SQL分组

基于blob字段值的Oracle SQL分组
EN

Stack Overflow用户
提问于 2022-06-01 02:55:28
回答 1查看 43关注 0票数 1

这可能是不可能的

我有一个包含XML的blob表,我想根据blob的内容获得一个计数,有一种方法可以在一个查询中完成它,而不是执行

代码语言:javascript
复制
select count(*)
from MyTable
where dbms_lob.instr(bitstream, utl_raw.CAST_TO_RAW('ObjA'), 1, 1) > 0

select count(*)
from MyTable
where dbms_lob.instr(bitstream, utl_raw.CAST_TO_RAW('ObjB'), 1, 1) > 0

select count(*)
from MyTable
where dbms_lob.instr(bitstream, utl_raw.CAST_TO_RAW('ObjC'), 1, 1) > 0

select count(*)
from MyTable
where dbms_lob.instr(bitstream, utl_raw.CAST_TO_RAW('ObjD'), 1, 1) > 0

select count(*)
from MyTable
where dbms_lob.instr(bitstream, utl_raw.CAST_TO_RAW('ObjE'), 1, 1) > 0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-01 08:20:05

像这样的东西会起作用吗?

将要查找的值存储到CTE中,然后将该CTE加入到您的表中。

代码语言:javascript
复制
WITH
   temp (obj)
   AS
      (SELECT *
         FROM TABLE (sys.odcivarchar2list ('ObjA',
                                           'ObjB',
                                           'ObjC',
                                           'ObjD',
                                           'ObjE')))
  SELECT t.obj, COUNT (*)
    FROM mytable e
         JOIN temp t
            ON DBMS_LOB.INSTR (bitstream,
                               UTL_RAW.cast_to_raw (t.obj),
                               1,
                               1) > 0
GROUP BY t.obj;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72456002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档