Wie ähnlich und NULL Prädikate in SQL-Anweisungen verwenden

SQL: 1999 fügte der ÄHNLICH Prädikat, das einen leistungsfähigeren Weg zu finden, teilweise Übereinstimmungen als die Angebote MÖGEN Prädikat liefert. Mit dem ÄHNLICH Prädikat, können Sie eine Zeichenfolge in einen regulären Ausdruck zu vergleichen. Zum Beispiel, sagen Sie suchen die Betriebssystem Spalte einer Software Kompatibilitätstabelle für Microsoft Windows-Kompatibilität zu suchen. Sie könnten ein Konstrukt WOHER Klausel wie die folgenden:

WO Operating ähnlich zu '(' Windows '(3,1 | 95 | 98 | ME | CE | NT | 2000 | XP | Vista | 7 | 8)) "

Dieses Prädikat ruft alle Zeilen, die einem der angegebenen Microsoft-Betriebssystemen enthalten.

Das NULL Prädikat findet alle Zeilen, in denen der Wert in der ausgewählten Spalte null ist. Beispielsweise in einer Tabelle FOODS den Nährwert von verschiedenen Lebensmitteln zu vergleichen, haben mehrere Zeilen Nullwerte in der Kohlenhydrat Spalte. Sie können ihre Namen abrufen, indem Sie eine Anweisung wie die folgende verwenden:

SELECT (Lebensmittel) aus FOODSWHERE Carbohydrate IS NULL -

Diese Abfrage gibt die folgenden Werte:

Rindfleisch, mageres hamburgerChicken, Licht meatOpossum, roastedPork, Schinken

Wie Sie vielleicht erwarten, einschließlich der NICHT Schlüsselwort kehrt das Ergebnis, wie in dem folgenden Beispiel:

SELECT (Lebensmittel) aus FOODSWHERE Carbohydrate IS NOT NULL -

Diese Abfrage gibt alle Zeilen in der Tabelle mit Ausnahme der vier, das die vorherigen Abfrage zurückgibt.

Die Aussage Carbohydrate IS NULL ist nicht das Gleiche wie Kohlenhydrate = NULL. Um diesen Punkt zu veranschaulichen, sei angenommen, dass in der aktuellen Zeile der Tabelle FOODS, sowohl Kohlenhydrat und Eiweiß null sind. Aus dieser Tatsache kann man folgende Schlüsse ziehen:

  • Carbohydrate IS NULL ist wahr.

  • Protein ist NULL ist wahr.

  • Kohlenhydrate ist null und Protein ist NULL ist wahr.

  • Kohlenhydrate = Eiweiß ist unbekannt.

  • Kohlenhydrate = NULL ist eine illegale Ausdruck.

Mit dem Schlüsselwort NULL in einem Vergleich ist sinnlos, weil die Antwort immer wieder als unbekannt.

Warum ist Kohlenhydrate = Eiweiß definiert als unbekannt, obwohl Kohlenhydrat und Eiweiß haben die gleiche (null) Wert? weil NULL bedeutet einfach # 147-ich weiß es nicht. # 148- Sie wissen nicht, was Kohlenhydrat ist, und Sie wissen nicht, was Eiweiß IS- deshalb weiß man nicht, ob diese (unbekannt) Werte gleich sind.

Könnte sein Kohlenhydrat 37 ist, und Eiweiß 14, oder vielleicht Kohlenhydrat 93 ist, und Eiweiß 93. ist Wenn Sie nicht wissen, die sowohl Kohlenhydrat-Wert und der Proteinwert, kann man nicht sagen, ob die beiden gleich sind.

Menü