Доколкото ми е известно, можете да получите NaN само в binary_float или binary_double
колона; тези типове данни имат свои собствени литерали и за NaN , и има is nanкод> състояние
за тях също и nanvl()код> функция
да ги манипулирате.
Пример за начин за получаване на такава стойност е да разделите нулева стойност float/double на нула:
select 0f/0 from dual;
0F/0
----
NaN
... така че ако виждате NaNs, логиката на приложението ви или основните данни може да са повредени. (Имайте предвид, че не можете да получите това с „нормален“ тип число; получавате ORA-01476:делител е равен на нула
освен ако числителят не е float или double).
Въпреки това няма да получите NaN за нула или отрицателни числа. Възможно е също така да имате колона с низове и приложение поставя думата „NaN“, но съхраняването на числа като низове е лоша идея на много нива, така че се надяваме, че това не е така.