Sobes.tech
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.