sql >> データベース >  >> RDS >> PostgreSQL

EXP()を使用するPostgresql計算でアンダーフローを防止/検出するにはどうすればよいですか?

    関数expは指数関数と呼ばれ、その逆関数は自然対数、つまりeを底とする対数です。数eは、一般に自然対数の基数としても定義されます

    つまり、exp(x)とe^xは同じ関数です。ただし、eは超越数であり、したがって無理数であるため、その値を正確に指定することはできません。

    小数点以下10桁に切り捨てられたeの数値は2.718281828

    です。

    したがって、関数exp(x)は、xのすべての値に対して技術的に有効ですが、実際には、それらを制限することができます。たとえば、+/- 700に制限する場合は、範囲をカバーするすべてのケースをカバーする必要があります

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

    それ以上のものはアプリケーションによって異なります



    1. 大文字と小文字および特殊文字を無視して、2つの列で重複の可能性を見つけます

    2. 値が範囲内にある間のmysqlのグループ化

    3. PL/SQLトリガーの問題

    4. Postgres:GROUP BYとORDERの使用中にエラーが発生しました(herokuで)