mysql-NULL-Wert in where-KLAUSEL
Umgang mit NULL Wert in mysql wo in KLAUSEL
ich versuche wie
SELECT * FROM mytable WHERE field IN(1,2,3,NULL)
es nicht funktioniert
nur arbeiten wie :
SELECT * FROM mytable WHERE field IN(1,2,3) OR field IS NULL
wie ich es bekommen kann die Arbeit in WHERE IN
? ist es möglich ?
InformationsquelleAutor Haim Evgi | 2010-10-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch mein Verständnis, die Sie wollen, ziehen Sie jeden Datensatz mit 1,2,3 und null-Wert.
Ich glaube nicht, dass es möglich ist, null in der IN-operator. Ihr erwartet, dass Werte und null ist gut.. nicht Wert. So haben Sie wirklich zu setzen ODER mit der null, um das gewünschte Ergebnis zu erhalten.
InformationsquelleAutor Emerion
Vielleicht diese Informationen aus der MySQL Reference Manual hilft:
InformationsquelleAutor kraftan
Es gibt eine MySQL Funktion namens
VERSCHMELZEN
. Es gibt den ersten nicht-NULL
Wert in der Liste, oderNULL
wenn es keine nicht-NULL
Werte.Wenn Sie zum Beispiel laufen
SELECT COALESCE(NULL, NULL, -1);
erhalten Sie-1
zurück, weil es der erste nicht-NULL
Wert.Also der trick hier ist, um zu wickeln Sie Ihren Ausdruck in
COALESCE
, und fügen Sie einen Wert als letzten parameter an, die Sie auch in IhremIN
Funktion.Es wird nur entsprechen, wenn das Feld 1,2 oder 3, oder wenn das Feld
NULL
.InformationsquelleAutor swenedo
Folgende Anweisung sollte helfen:
InformationsquelleAutor Srikanth Kattam