Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Kapan/Mengapa Oracle menambahkan NaN ke baris dalam tabel database

Dari dokumentasi :

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jdbc memeriksa kemampuan - rilis savepoint

  2. Kesalahan ORA-4031 dengan NFS Langsung

  3. Bagaimana cara mengonversi SDO_GEOMTRY di GeoJSON

  4. Bagaimana saya bisa mendapatkan nama kolom dari tabel di Oracle?

  5. Ketika saya memasukkan kode dateadd atau dateiff saya mendapatkan kesalahan ini sepanjang waktu ORA-00904 DATEADD INVALID IDENTIFIER.