Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> proste ale nietypowe pytanie z mysql
symer
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


witam. Otóż mam taką tabele w bazie danych:

Tabela Klienci:

Id Name ReferredBy
1 John Doe NULL
2 Jane Smith NULL
3 Anne Jenkins 2
4 Eric Branford NULL
5 Pat Richards 1
6 Alice Barnes 2

i wybieram polecenie :
  1. SELECT Name FROM Klienci WHERE ReferredBy <> 2;

wyrzuca mi wynik:
name :
Pat Richards

Pytanie brzmi. Dlaczego nie wybiera także rekordów o wartości NULL z ReferredBy , skoro ReferredBy o wartości NULL nie jest równe 2 . Jak w zapytaniu. Prosze o pomoc

Ten post edytował symer 18.11.2017, 16:13:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


NULL to wartość niezdefiniowana, a właściwie brak wartości, czyli nie jest możliwe jej porównanie. W przypadku tego warunku dla takich pól otrzymasz NULL, a nie true lub false.
Rozwiązaniem jest użycie w warunku IF lub COALESCE lub dodanie do niego OR ReferredBy IS NULL.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 11:04