sql >> Databáze >  >> RDS >> Oracle

Jaký je elegantní způsob, jak vrátit čitelnou „velikost souboru“ souboru uloženého ve sloupci Oracle blob pomocí SQL?

„Čtivá“ část je to, co jsem měl více zdůraznit. Tady je to, co jsem zatím dal dohromady.

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


  1. Export požadavku SQL do csv namísto dat tabulky

  2. Výpočet věku Oracle od data narození a dneška

  3. PostgreSQL array_agg() a array_to_string v MySQL

  4. Oracle 12:Připojit se na seznam oddělený čárkami?