簡體   English   中英

Oracle函數返回Clob的大小(以兆字節為單位)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM