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

Bagaimana membuat to_number mengabaikan nilai non-numerik

Secara umum dalam basis data relasional, urutan evaluasi tidak ditentukan, sehingga memungkinkan select fungsi dipanggil sebelum where klausa menyaring data. Saya tahu ini adalah kasus di SQL Server. Di sini adalah postingan yang menunjukkan bahwa hal yang sama dapat terjadi di Oracle.

case pernyataan, bagaimanapun, tidak kaskade, sehingga dievaluasi secara berurutan. Karena itu, saya lebih suka:

select (case when NOT regexp_like(xy,'[^[:digit:]]') then to_number(xy)
        end)
from ABC;

Ini akan mengembalikan NULL untuk nilai yang bukan angka.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mengatasi batas 32k saat memasukkan parameter Oracle clob IN menggunakan spring StoredProcedure

  2. Tipe data apa yang harus saya ikat sebagai parameter kueri untuk digunakan dengan kolom NUMBER (15) di Oracle ODBC?

  3. cara mengonversi string tanggal ke format tanggal di oracle10g

  4. Memanggil Notasi Untuk Subrutin PL/SQL Di Database Oracle

  5. output yang memiliki huruf pertama dan terakhir sebagai vokal (a,e,i,o,u)