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

Apakah ada operator Oracle yang lebih baik untuk melakukan pemeriksaan kesetaraan nol-aman?

Yah, saya tidak yakin apakah ini lebih baik , tetapi mungkin sedikit lebih ringkas untuk menggunakan LNNVL , sebuah fungsi (yang hanya dapat Anda gunakan dalam WHERE klausa) yang mengembalikan TRUE jika ekspresi yang diberikan adalah FALSE atau TIDAK DIKETAHUI (NULL ). Misalnya...

WITH T AS
(
    SELECT    1 AS X,    1 AS Y FROM DUAL UNION ALL
    SELECT    1 AS X,    2 AS Y FROM DUAL UNION ALL
    SELECT    1 AS X, NULL AS Y FROM DUAL UNION ALL
    SELECT NULL AS X,    1 AS Y FROM DUAL
)
SELECT
    *
FROM
    T
WHERE
    LNNVL(X <> Y);

...akan mengembalikan semua kecuali baris di mana X =1 dan Y =2.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tunggu Acara:mengubah ukuran deskriptor asinkron

  2. Bagaimana saya bisa tahu jika saya memiliki pekerjaan yang tidak dikomit dalam transaksi Oracle?

  3. Bagaimana cara membuat objek Oracle.sql.ARRAY?

  4. Bagaimana Cara Menginstal Oracle SQL Developer 18.2 di Windows 10?

  5. REGEX untuk memilih nilai ke-n dari daftar, memungkinkan untuk nol