Rumah  >  Artikel  >  pangkalan data  >  Mengapa Oracle menapis nol jika ia tidak sama dengan 1?

Mengapa Oracle menapis nol jika ia tidak sama dengan 1?

下次还敢
下次还敢asal
2024-05-08 18:51:161245semak imbas

Dalam Oracle, pertanyaan tidak sama dengan 1 menapis nilai Null kerana: Nilai null tidak sama dengan sebarang nilai, termasuk 1. Oracle menggunakan logik tiga nilai untuk mengendalikan nilai Null, iaitu benar, salah dan tidak diketahui. Perbandingan nilai Null kepada bukan Null sentiasa mengembalikan Tidak Diketahui melainkan perbandingan itu Null kepada Null (yang mengembalikan True). Pertanyaan yang tidak sama dengan 1 menganggap nilai Null sebagai tidak diketahui dan menapisnya berdasarkan mekanisme pengendalian Null Oracle.

Mengapa Oracle menapis nol jika ia tidak sama dengan 1?

Mengapa Null ditapis apabila tidak sama dengan 1 dalam Oracle

Dalam Oracle, pertanyaan yang tidak sama dengan 1 (<> 1) akan menapis nilai Null, ini kerana:

  • Nilai nol tidak sama dengan mana-mana nilai: Menurut teorem nilai kebenaran Null dalam logik tiga nilai, nilai Null tidak sama dengan benar dan tidak sama dengan palsu, jadi ia tidak sama dengan mana-mana nilai bukan Null ( termasuk 1).
  • Pengendalian Null Oracle: Oracle menggunakan logik tiga nilai (Benar, Salah, Tidak Diketahui) untuk mengendalikan nilai Null. Sebarang perbandingan yang melibatkan nilai Null mengembalikan Tidak Diketahui melainkan perbandingan itu adalah Null kepada Null (yang mengembalikan True).

Penjelasan terperinci:

Apabila melaksanakan pertanyaan yang tidak sama dengan 1, Oracle akan menganggap nilai Null sebagai tidak diketahui (Tidak diketahui). Begini cara perbandingannya dinilai:

  • 1 <> 1: Salah (kerana mereka sama)
  • 1 <> Null <> 1: Tidak diketahui (kerana Null bukan Betul atau Palsu)
  • Null <> daripada 1 ialah Tidak Diketahui , jadi Oracle menapis nilai Null daripada hasil kerana nilai Tidak Diketahui tidak memenuhi syarat. Ini selaras dengan mekanisme pengendalian Null Oracle, di mana nilai Null dianggap sebagai nilai istimewa yang berbeza daripada mana-mana nilai bukan Null.

Atas ialah kandungan terperinci Mengapa Oracle menapis nol jika ia tidak sama dengan 1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn