Sobes.tech
Middle

Kuidas töödelda SQL-is nullväärtusi ja vältida vigu unikaalsete väärtuste arvutamisel?

sobes.tech AI

Vastus AI-lt

SQL-is, un unikaalsete väärtuste arvutamisel on oluline õigesti käsitleda NULL-e, kuna NULL ei ole võrdne ühegi väärtusega, sealhulgas iseendaga.

Vigade vältimiseks ja õige tulemuse saamiseks:

  • Kasutage COUNT(DISTINCT veerg) — see ignoreerib NULL-väärtusi.
  • Kui soovite arvutada NULL-i eraldi unikaalse väärtusena, saate NULL-i asendada spetsiaalse väärtusega COALESCE abil.

Näide:

-- Unikaalsete väärtuste arv ilma NULL-ide arvestamiseta
SELECT COUNT(DISTINCT veeru_nimi) FROM tabeli_nimi;

-- Unikaalsete väärtuste arv arvestades NULL-i eraldi väärtusena
SELECT COUNT(DISTINCT COALESCE(veeru_nimi, 'NULL_ASENDUS')) FROM tabeli_nimi;

Kus 'NULL_ASENDUS' võib olla mis tahes väärtus, mis tabelis ei esine, näiteks '__NULL__'. See võimaldab arvutada NULL-i eraldi unikaalse elemendina.