ドキュメントから :
私の知る限り、NaNはbinary_floatまたはbinary_double
桁;これらのデータ型には、NaNの独自のリテラルもあります 、 is nan コード> 状態
彼らにとっても、 nanvl()
機能
それらを操作します。
このような値を取得する方法の例は、ゼロのfloat/double値をゼロで除算することです。
select 0f/0 from dual;
0F/0
----
NaN
...したがって、NaNが表示されている場合は、アプリケーションロジックまたは基になるデータが壊れている可能性があります。 (「通常の」数値タイプではこれを取得できないことに注意してください。 ORA-01476:除数はゼロに等しい
を取得します。 分子がfloatまたはdoubleでない限り)。
ただし、ゼロまたは負の数のNaNは取得されません。文字列列があり、アプリケーションが「NaN」という単語を入力している可能性もありますが、数値を文字列として格納することは多くのレベルで悪い考えなので、そうでないことを願っています。