PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann ich einen Unterlauf in einer Postgresql-Berechnung verhindern/erkennen, die EXP() verwendet?

Die Funktion exp wird Exponentialfunktion genannt, und ihre Inverse ist der natürliche Logarithmus oder Logarithmus zur Basis e. Die Zahl e wird auch allgemein als Basis des natürlichen Logarithmus definiert

Mit anderen Worten, exp(x) und e^x sind dieselbe Funktion. Da e jedoch eine transzendente Zahl und damit irrational ist, kann ihr Wert nicht genau angegeben werden.

Der numerische Wert von e, abgeschnitten auf 10 Dezimalstellen, ist 2,71828 1828

Die Funktion exp(x) ist also technisch für alle Werte von x gültig, aber praktisch kann man sie einschränken. Wenn Sie sie beispielsweise auf +/- 700 begrenzen, sollten Sie alle Fälle abdecken, die den Bereich

abdecken
exp(700) = 1.01423205 × 10^304
exp(-700) = 9.85967654 × 10^-305

Mehr als das hängt von Ihrer Anwendung ab