gpt4 book ai didi

sql - 使用 SQL 返回存储在 oracle blob 列中的文件的可读 'file size' 的优雅方法是什么?

转载 作者:行者123 更新时间:2023-12-04 09:31:33 25 4
gpt4 key购买 nike

您将如何编写 SQL 查询以更易读的形式获取 blob 的大小?该示例类似于将大型 Word 文档存储在表上的 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

关于sql - 使用 SQL 返回存储在 oracle blob 列中的文件的可读 'file size' 的优雅方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/840966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com