Ich habe die folgende Frage
SELECT * FROM table
WHERE tester <> 'username';
Ich erwarte, dass dies alle Ergebnisse zurückgibt, bei denen der Tester nicht die Zeichenfolge ist username
, aber dies funktioniert nicht. Ich glaube, ich suche die Umkehrung des Like
Operators, bin mir aber nicht sicher? Bei meinen Suchen habe ich Lösungen für Zahlen gefunden (von dort habe ich <> erhalten), aber dies scheint nicht mit Zeichenfolgen zu funktionieren.
NULL
Werten? (NULL <> 'username'
=>NULL
=> falsch)?Antworten:
Ihre
where
Klausel gibt alle Zeilen zurück, in denentester
nicht übereinstimmtusername
UND in denentester
nicht null ist.Wenn Sie NULL-Werte einschließen möchten, versuchen Sie:
Wenn Sie nach Zeichenfolgen suchen, die das Wort "Benutzername" nicht als Teilzeichenfolge enthalten,
like
können Sie Folgendes verwenden:quelle
Versuchen Sie die folgende Abfrage
quelle
NULL-sicherer Zustand würde aussehen wie:
quelle
<=>
Operator nur auf derMySQL
Welt existiert. Weitere Informationen finden Sie unter <=>quelle
Die
strcomp
Funktion kann hier angemessen sein (gibt 0 zurück, wenn die Zeichenfolgen identisch sind):quelle
Ein anderer Weg, um die Ergebnisse zu erhalten
quelle