Middle
Jak obsługiwać wartości null w SQL i unikać błędów podczas liczenia unikalnych wartości?
sobes.tech AI
Odpowiedź od AI
W SQL, podczas liczenia unikalnych wartości, ważne jest poprawne obsługiwanie NULL, ponieważ NULL nie jest równe żadnej wartości, w tym samemu sobie.
Aby uniknąć błędów i uzyskać poprawny wynik:
- Użyj
COUNT(DISTINCT kolumna)— ignoruje wartości NULL. - Jeśli chcesz traktować NULL jako odrębną unikalną wartość, możesz zastąpić NULL specjalną wartością za pomocą
COALESCE.
Przykład:
-- Liczenie unikalnych wartości bez uwzględniania NULL
SELECT COUNT(DISTINCT nazwa_kolumny) FROM nazwa_tabeli;
-- Liczenie unikalnych wartości z uwzględnieniem NULL jako odrębnej wartości
SELECT COUNT(DISTINCT COALESCE(nazwa_kolumny, 'ZASTĄP_NULL')) FROM nazwa_tabeli;
Gdzie 'ZASTĄP_NULL' to dowolna wartość, która nie występuje w kolumnie, np. '__NULL__'. To pozwala traktować NULL jako odrębny unikalny element.