Soweit mir bekannt ist, können Sie NaN nur in einem binary_float oder binary_double
Säule; diese Datentypen haben ihre eigenen Literale auch für NaN , und es gibt einen is nan
Bedingung
auch für sie und den nanvl()
Funktion
sie zu manipulieren.
Ein Beispiel für einen solchen Wert ist die Division eines Null-Float/Double-Werts durch Null:
select 0f/0 from dual;
0F/0
----
NaN
... Wenn Sie also NaNs sehen, könnten Ihre Anwendungslogik oder die zugrunde liegenden Daten beschädigt sein. (Beachten Sie, dass Sie dies nicht mit einem "normalen" Zahlentyp erhalten können; Sie erhalten ORA-01476: divisor is equal to zero
es sei denn, der Zähler ist Float oder Double).
Sie erhalten NaN jedoch nicht für null oder negative Zahlen. Es ist auch möglich, dass Sie eine Zeichenfolgenspalte haben und eine Anwendung das Wort „NaN“ einfügt, aber das Speichern von Zahlen als Zeichenfolgen ist auf vielen Ebenen eine schlechte Idee, also ist das hoffentlich nicht der Fall.