Sejauh yang saya ketahui, Anda hanya bisa mendapatkan NaN di binary_float atau binary_double
kolom; tipe data tersebut memiliki literal mereka sendiri untuk NaN juga , dan ada is nan
kondisi
untuk mereka juga, dan nanvl()
fungsi
untuk memanipulasi mereka.
Contoh cara untuk mendapatkan nilai seperti itu adalah dengan membagi nilai float/double nol dengan nol:
select 0f/0 from dual;
0F/0
----
NaN
... jadi jika Anda melihat NaNs, logika aplikasi atau data dasar Anda mungkin rusak. (Perhatikan Anda tidak bisa mendapatkan ini dengan tipe angka 'normal'; Anda mendapatkan ORA-01476: divisor is equal to zero
kecuali pembilangnya mengambang atau ganda).
Anda tidak akan mendapatkan NaN untuk angka nol atau negatif. Mungkin juga Anda memiliki kolom string dan aplikasi memasukkan kata 'NaN', tetapi menyimpan angka sebagai string adalah ide yang buruk di banyak tingkatan, jadi semoga bukan itu masalahnya.