首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle查找每列的数据卷

Oracle查找每列的数据卷
EN

Stack Overflow用户
提问于 2020-09-30 16:51:37
回答 2查看 129关注 0票数 1

请有人帮助我开发一个查询,以找到特定于某一列的数据卷。因此,我们有一个clob和blob数据类型列,在该列中,我们需要识别这两列相对于日期字段的大小。从象征意义上讲,逻辑是

select size(of column type clob/blob) from {table} where date (another column) >= {}

这里的想法是确定有资格进行家务管理的数据的大小。

预期结果

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-30 17:02:39

尝试下面的查询,

如果需要,可以筛选特定的tablecolumn

使用视图的DBA_:

代码语言:javascript
运行
复制
SELECT l.owner,
       l.table_name,
       l.column_name,
       l.segment_name,
       l.tablespace_name,
       round(s.bytes/1024/1024,2) size_mb
FROM dba_lobs l
JOIN dba_segments s 
  ON s.owner = l.owner 
 AND s.segment_name = l.segment_name
ORDER BY 6 DESC;

使用视图的User_:

代码语言:javascript
运行
复制
SELECT l.table_name,
       l.column_name,
       l.segment_name,
       l.tablespace_name,
       round(s.bytes/1024/1024,2) size_mb
FROM user_lobs l
JOIN user_segments s 
  ON s.segment_name = l.segment_name
ORDER BY 5 DESC;
票数 1
EN

Stack Overflow用户

发布于 2020-09-30 16:57:38

您可以使用DBMS_LOB.GETLENGTH获取CLOB或BLOB的长度。

查询

代码语言:javascript
运行
复制
WITH
    sample_data
    AS
        (SELECT EMPTY_CLOB () AS clob_val FROM DUAL
         UNION ALL
         SELECT EMPTY_CLOB () || 'some text' AS clob_val FROM DUAL)
SELECT DBMS_LOB.SUBSTR (clob_val, 200, 1)     AS clob_text,
       DBMS_LOB.getlength (clob_val)          AS clob_length
  FROM sample_data;

结果

代码语言:javascript
运行
复制
   CLOB_TEXT    CLOB_LENGTH
____________ ______________
                          0
some text                 9
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64142232

复制
相关文章

相似问题

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