Heim  >  Artikel  >  Datenbank  >  Warum filtert Oracle Null heraus, wenn es ungleich 1 ist?

Warum filtert Oracle Null heraus, wenn es ungleich 1 ist?

下次还敢
下次还敢Original
2024-05-08 18:51:161245Durchsuche

In Oracle filtern Abfragen ungleich 1 Nullwerte heraus, weil: Nullwerte keinem Wert entsprechen, einschließlich 1. Oracle verwendet dreiwertige Logik, um Nullwerte zu verarbeiten, nämlich wahr, falsch und unbekannt. Ein Vergleich von Null- mit Nicht-Null-Werten gibt immer Unknown zurück, es sei denn, der Vergleich erfolgt von Null zu Null (was True zurückgibt). Abfragen, die ungleich 1 sind, behandeln Nullwerte als unbekannt und filtern sie basierend auf dem Nullverarbeitungsmechanismus von Oracle heraus.

Warum filtert Oracle Null heraus, wenn es ungleich 1 ist?

Warum wird in Oracle Null herausgefiltert, wenn es ungleich 1 ist?

Der Nullwert ist keinem Wert gleich:

Gemäß dem Null-Wahrheitswertsatz in der dreiwertigen Logik ist der Nullwert weder gleich wahr noch gleich falsch, also ist er keinem Nicht-Null-Wert gleich ( einschließlich 1).

  • Oracles Null-Behandlung: Oracle verwendet dreiwertige Logik (Wahr, Falsch, Unbekannt), um Null-Werte zu verarbeiten. Jeder Vergleich mit einem Nullwert gibt „Unbekannt“ zurück, es sei denn, der Vergleich erfolgt von „Null zu Null“ (was „True“ zurückgibt).
  • Detaillierte Erklärung:
Wenn eine Abfrage ausgeführt wird, die ungleich 1 ist, behandelt Oracle den Nullwert als unbekannt (Unbekannt). So wird der Vergleich ausgewertet:

1 <> 1:

Falsch (weil sie gleich sind)

  • 1 <> Null: Unbekannt (weil Null weder wahr noch falsch ist)
  • Null <> 1: Unbekannt (weil Null weder wahr noch falsch ist)
  • Null <> Null: Wahr (gemäß dem Null-Wahrheitswert-Theorem)
  • Da Null <> von 1 ist Unknown , daher filtert Oracle den Nullwert aus den Ergebnissen, da der Unknown-Wert die Bedingung nicht erfüllt. Dies steht im Einklang mit dem Null-Verarbeitungsmechanismus von Oracle, bei dem Nullwerte als Sonderwerte behandelt werden, die sich von allen Nicht-Null-Werten unterscheiden.

Das obige ist der detaillierte Inhalt vonWarum filtert Oracle Null heraus, wenn es ungleich 1 ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn