sql >> Database >  >> RDS >> Oracle

Wat is een elegante manier om een ​​leesbare 'bestandsgrootte' te retourneren van een bestand dat is opgeslagen in een Oracle-blob-kolom met behulp van SQL?

Het 'leesbare' gedeelte had ik meer moeten benadrukken. Dit is wat ik voor nu heb samengesteld.

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. Het verkrijgen van een mySQL-opgeslagen procedure resulteert in een andere opgeslagen procedure

  2. Hoe een ssh-tunnel in ruby ​​te maken en vervolgens verbinding te maken met de mysql-server op de externe host

  3. Datum opmaken (JJ:MM:DD:Tijd) in Excel

  4. Ruby on Rails-databasemigratie maakt geen externe sleutels in MySQL-tabellen