SQL nicht wie Anweisung funktioniert nicht
Ich habe den folgenden code innerhalb einer gespeicherten Prozedur.
WHERE
WPP.ACCEPTED = 1 AND
WPI.EMAIL LIKE '%@MATH.UCLA.EDU%' AND
(WPP.SPEAKER = 0 OR
WPP.SPEAKER IS NULL) AND
WPP.COMMENT NOT LIKE '%CORE%' AND
WPP.PROGRAMCODE = 'cmaws3'
NICHT WIE-Anweisung nicht funktioniert, und ja, bevor jemand was sagt es gibt Artikel mit der KOMMENTAR-Spalte, die nicht enthalten KERN und alle anderen Spalten sind ok.
Weiß jemand, was ist falsch mit diesem?
InformationsquelleAutor der Frage mattgcon | 2009-10-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn
WPP.COMMENT
enthältNULL
die der Bedingung nicht entsprechen.Diese Abfrage:
wird nichts zurück.
Auf eine
NULL
Spalte, die beideLIKE
undNOT LIKE
gegen alle such-string zurückNULL
.Könnten Sie bitte post relevanten Werte einer Zeile, die Ihrer Meinung nach die zurückgegeben werden soll, ist es aber nicht?
InformationsquelleAutor der Antwort Quassnoi
Ist der Wert des jeweiligen KOMMENTAR-Spalte null ist?
Manchmal NICHT, WIE weiß nicht, wie Sie sich richtig Verhalten um null-Werte.
InformationsquelleAutor der Antwort James Cronen
Ich kam gerade über das gleiche Problem, und es gelöst, aber nicht bevor ich fanden diesen Beitrag. Und da deine Frage nicht wirklich beantwortet, hier meine Lösung (die hoffentlich für Sie arbeiten, oder jemand anderes auf der Suche für die gleiche Sache, die ich Tat;
Statt;
Versuchen;
Grundsätzlich verschieben", NICHT" die andere Seite des Feldes war ich die Bewertung für mich gearbeitet.
InformationsquelleAutor der Antwort Valiante
Gekommen, nur über diese, die Antwort ist einfach, verwenden Sie
ISNULL
. SQL wird nicht die Rückgabe von Zeilen, wenn das Feld, das Sie testen, die keinen Wert hat (in einigen der Datensätze) wenn Sie einen text-Vergleich Suche, zB:So, Sie haben vorübergehend ersetzen Sie einen Wert in das
null
(leere) Datensätze mithilfe derISNULL
Befehl, zBDiese wird dann zeigen alle Ihre Datensätze, die null-Werte und auslassen, die mit Ihren Kriterien übereinstimmen. Wenn Sie wollten, könnten Sie etwas in die Kommas zu helfen, denken Sie daran, zB
InformationsquelleAutor der Antwort Paul D. Starbrook
mattgcon,
Funktionieren sollte, bekommst du mehr Zeilen, wenn Sie den selben SQL mit dem "NICHT MÖGEN" - Zeile auskommentiert? Wenn nicht, überprüfen Sie die Daten. Ich weiß, Sie in Ihrer Frage erwähnt, aber überprüfen Sie, dass die tatsächliche SQL-Anweisung ist die Verwendung der betreffenden Klausel. Die anderen Antworten mit NULL sind auch eine gute Idee.
InformationsquelleAutor der Antwort Mark Kadlec