Mam następujące zapytanie
SELECT * FROM table
WHERE tester <> 'username';
Oczekuję, że to zwróci wszystkie wyniki, w których tester nie jest ciągiem username
, ale to nie działa. Myślę, że szukam odwrotności Like
operatora, ale nie jestem pewien? W moich poszukiwaniach znalazłem rozwiązania dla liczb (stąd mam <>), ale wydaje się, że nie działa to ze stringami.
NULL
wartości? (NULL <> 'username'
=>NULL
=> fałsz)?Odpowiedzi:
Twoja
where
klauzula zwróci wszystkie wiersze, w którychtester
nie pasujeusername
I gdzietester
nie jest null.Jeśli chcesz dołączyć wartości NULL, spróbuj:
Jeśli szukasz ciągów, które nie zawierają słowa „nazwa użytkownika” jako podłańcucha,
like
możesz użyć:źródło
Spróbuj wykonać następujące zapytanie
źródło
Stan NULL-bezpieczny wyglądałby następująco:
źródło
<=>
operator istnieje tylko naMySQL
świecie, po więcej informacji zobacz co to jest <=>źródło
strcomp
Funkcja może być tutaj odpowiednie (zwraca 0, gdy ciągi są identyczne):źródło
Inny sposób uzyskania wyników
źródło