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

Oracle nomor tidak valid dalam klausa

Perubahan pada jawaban phonetic_man yang memungkinkan elemen NULL dalam daftar. Format regex dari '[^,]+' untuk parsing daftar yang dibatasi tidak menangani elemen daftar NULL dan akan mengembalikan nilai yang salah jika ada dan dengan demikian penggunaannya harus dihindari. Ubah yang asli dengan menghapus angka 2 misalnya dan lihat hasilnya. Anda akan mendapatkan '3' di posisi elemen ke-2! Berikut cara menangani NULL dan mengembalikan nilai yang benar untuk elemen:

SELECT TRIM(REGEXP_SUBSTR(str, '(.*?)(,|$)', 1, LEVEL, NULL, 1)) str
    FROM ( SELECT '1,,3,4' str FROM dual )
    connect by level <= regexp_count(str, ',') + 1;

Lihat di sini untuk info dan bukti lebih lanjut:https://stackoverflow.com/a/31464699/2543416



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-03113:akhir file pada saluran komunikasi setelah lama tidak aktif di aplikasi ASP.Net

  2. Bagaimana cara mengonfigurasi alokasiSize dalam persistensi.xml alih-alih Entity

  3. Bagaimana Anda Memasukkan Blob Besar Ke Oracle 10G Menggunakan System.Data.OracleClient?

  4. Oracle membuat tabel sebagai pilih dengan kondisi count max

  5. Kueri dinamis dengan HibernateCritera API &Oracle - kinerja