[英]Oracle function to return the size of a clob in megabytes
我有一張桌子,我們稱它為附件。
我有一個附件ID和附件filedata。 但是,不幸的是,當文件上傳時,文件的大小從未放入文件大小字段中.....所以我有點困境。
有沒有一種方法可以執行查詢來計算a的大小。 文件大小(以兆字節為單位)和b。 獲取所有文件的總大小。
此外,我還知道,如果我有大量附件,那將是一個緩慢的查詢。 因此,我將在Webapp中緩存查詢結果。 (通過cron每30分鍾左右刷新一次)
任何幫助將不勝感激。
謝謝!
對於那些感興趣的人,我找到了解決方案:
create or replace function filesize_in_mb(filedata in blob) return float is
Result float;
begin
select ROUND(((dbms_lob.getlength(filedata)/1024/1024) * 2), 2)
into Result
from dual;
return Result;
end filesize_in_mb;
我乘以2,因為我正在使用的數據庫位於utf-16中。
並稱之為:
SELECT filesize_in_mb(a.filedata) as filesize FROM file_attachment a
真的很簡單! :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.