Mittwoch, Februar 19, 2014

Aufrunden zur nächsten Zehnerpotenz

Ein kleiner Ausflug in die Welt der nicht ganz so hohen Mathematik: wie berechne ich die nächst höhere Zehnerpotenz zu einem gegebenen Wert mit Datenbankmitteln? Mir fiel dazu nichts Besseres ein als das Aufrunden des Ergebnisses der log-Funktion zum gegebenen Wert und die Verwendung dieses aufgerundeten Ergebnisses als Exponent zur Basis 10. Hier die Varianten für postgres und Oracle:

-- postgres
dbadmin=# select 10 ^ ceiling(log(4711)) round_up;
 round_up
----------
    10000

-- Oracle
SQL> select power(10, ceil(log(10, 4711))) round_up from dual;

  ROUND_UP
----------
     10000

Keine Kommentare:

Kommentar veröffentlichen