Mysql Zeilen auswählen Wo zwei Spalten nicht den gleichen Wert haben

7

Ich versuche eine Abfrage auszuführen, bei der zwei Spalten nicht identisch sind, aber keine Ergebnisse zurückgegeben werden:

%Vor%

column_a UND column_b sind vom Integer-Typ und können Nullen enthalten. Ich habe versucht, & lt; & gt; Ist nicht, usw. ohne Glück. Es ist einfach zu finden, ob sie mit & lt; = & gt; identisch sind, aber & lt; & gt; und! = gibt keine Zeilen zurück. (mit Mysql 5.0).

Gedanken?

    
Caleb 29.09.2010, 19:42
quelle

1 Antwort

21

Das Problem ist, dass a! = b NULL ist, wenn entweder a oder b NULL ist.

<=> ist der NULL-Safe-Wert Operator. Um ein NULL-safe ungleich zu bekommen, können Sie einfach das Ergebnis invertieren:

%Vor%

Ohne den Null-Safe-Operator zu verwenden, müssten Sie dies tun:

%Vor%     
Mark Byers 29.09.2010, 19:45
quelle

Tags und Links