当前位置: 首页 > 面试题库 >

用SQL返回存储在oracle blob列中的文件的可读“文件大小”的一种优雅方法是什么?

贺山
2023-03-14
问题内容

您将如何编写SQL查询以更易于理解的形式获取Blob的大小?该示例将是一个大字文档存储在表的Blob中。我想执行类似的东西:

select fnc_getReadableSize(documents.doc) from documents where id = ?

输出:23.4 MB


问题答案:

我应该更加强调“可读”部分。这是我现在汇总的内容。

WITH file_sizes AS
     (SELECT 1048576 MEGABYTE, 1024 KILOBYTE,
             DBMS_LOB.GETLENGTH (BLOB_COLUMN) byte_size
        FROM BLOB_COLUMN)
SELECT (CASE TRUNC (byte_size / MEGABYTE)
           WHEN 0
              THEN TO_CHAR ((byte_size / KILOBYTE), '999,999') || ' KB'
           ELSE TO_CHAR ((byte_size / MEGABYTE), '999,999.00') || ' MB'
        END
       ) display_size
  FROM file_sizes


Output:

DISPLAY_SIZE  
--------------
       1.88 MB
     433 KB   
     540 KB   
     333 KB   
       1.57 MB
       1.17 MB


 类似资料:
  • 问题内容: 我有一个文件,其内容为python列表的形式,如下所示: 有什么办法可以将python文件读回到列表对象中吗?而不是使用整个文件,而是将其读取为字符串。 编辑:对于那些可能有兴趣的人,我使用(import ast)遇到了一个奇怪的问题,作为解决上述问题的建议。 我在其中使用的程序具有从yahoo finance python模块获取历史股票数据的功能。此函数与ast.literal_e

  • 问题内容: 给定文件大小(以字节为单位),我想使用 IEC(二进制)前缀 将其格式化为 3个 有效数字, 并带有结尾的零,例如1883954变为1.80M。 bash不支持浮点算术,因此我改用awk。问题是我不怎么保持尾随零。当前解决方案: (文件不是那么大,所以我不必考虑更大的单位。) 编辑:这还有另一个问题。请参阅下面的AdrianFrühwirth的评论。 问题答案: GNU Coreuti

  • 问题内容: 问题是,当我将序列化对象存储在.txt文件中时,它的格式不是可读的,并且包含一些随机的符号和字母。首先,我想知道其背后的原因是什么,然后如何解决此问题。 好了,这是我的代码:我要序列化的对象 序列化 } 反序列化 输出: 问题答案: 存储在文件中的序列化对象不可读 除了通过反序列化之外,它们并不可读。 问题是,当我将序列化对象存储在.txt文件中时,它的格式不是可读的,并且包含一些随机

  • 本文向大家介绍JS实现根据文件字节数返回文件大小的方法,包括了JS实现根据文件字节数返回文件大小的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现根据文件字节数返回文件大小的方法。分享给大家供大家参考,具体如下: 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript中json操作技巧总结》、《JavaS

  • 本文向大家介绍Python按行读取文件的实现方法【小文件和大文件读取】,包括了Python按行读取文件的实现方法【小文件和大文件读取】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python按行读取文件的实现方法。分享给大家供大家参考,具体如下: 小文件: 大文件: 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操

  • 本文向大家介绍PHP读取大文件的几种方法介绍,包括了PHP读取大文件的几种方法介绍的使用技巧和注意事项,需要的朋友参考一下 读取大文件一直是一个头痛的问题,我们像使用php开发读取小文件可以直接使用各种函数实现,但一到大文章就会发现常用的方法是无法正常使用或时间太长太卡了,下面我们就一起来看看关于php读取大文件问题解决办法,希望例子能帮助到各位。 场景:PHP读取超大文件,例如1G的日志文件,我