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

Mendapatkan masalah aneh dengan fungsi TO_NUMBER di Oracle

Ini bukan praktik yang baik. Data numerik harus disimpan dalam NUMBER kolom. Alasannya sederhana:jika kita tidak menerapkan tipe data yang kuat, kita mungkin menemukan diri kita dengan data non-numerik di kolom varchar2 kita. Jika itu terjadi maka filter seperti ini

where to_number(field1) = 23 

akan gagal dengan ORA-01722: invalid number .

Saya tidak dapat dengan pasti mengatakan ini adalah apa yang terjadi dalam skenario Anda, karena saya tidak mengerti mengapa perubahan yang tampaknya tidak signifikan pada filter ID telah mengubah keberhasilan kueri. Akan sangat bermanfaat untuk melihat rencana eksekusi untuk berbagai versi kueri. Tapi saya pikir ini lebih mungkin menjadi masalah dengan data Anda daripada bug di SGA.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memperbarui semua baris kecuali satu baris dari banyak yang memenuhi kondisi yang diberikan?

  2. Penghapusan file dari direktori dalam prosedur tersimpan oracle

  3. Apa itu pro*c?

  4. Oracle PL\SQL Null Input Parameter WHERE condition

  5. Driver Oracle alternatif untuk .net