sql >> Databáze >  >> RDS >> Database

Jak filtrovat řádky bez NULL ve sloupci

Problém:

Chcete najít záznamy bez NULL ve sloupci.

Příklad:

Naše databáze obsahuje tabulku s názvem product s údaji ve třech sloupcích:id , name a price .

id jméno cena
1 máslo NULL
2 mléko 2,35
3 chléb 3,25
4 sýr NULL

Pojďme najít názvy a ceny produktů, které mají cenu (bez NULL). Proveďte to pomocí operátoru IS NOT NULL.

Řešení:

SELECT name, 
  price
FROM product
WHERE price IS NOT NULL;

Zde je výsledek dotazu:

name cena
mléko 2,35
chléb 3,25

To vrátí pouze záznamy bez NULL ve sloupci, takže jsou přítomny pouze názvy a ceny mléka a chleba. Máslo a sýr nemají ceny (sloupec price je NULL), takže je nevidíte.

Diskuse:

Chcete-li zobrazit záznamy bez NULL ve sloupci, použijte operátor IS NOT NULL. Potřebujete pouze název sloupce (nebo výraz) a operátor IS NOT NULL (v našem příkladu price IS NOT NULL ). Vložte tuto podmínku do klauzule WHERE (v našem příkladu WHERE price IS NOT NULL ), který filtruje řádky.

Pokud je podmínka pravdivá, znamená to, že sloupec neukládá NULL. Řádek je vrácen, pokud má v tomto sloupci hodnotu (sloupec není NULL). Shora dotaz vrací pouze dva produkty, mléko a chléb, protože mají hodnoty v price .


  1. Jak zlepšit výkon pro filtrování data a času v SQL Server?

  2. Odstranění profilu pošty databáze v SQL Server (T-SQL)

  3. Existuje v SQL Server funkce Max, která nabývá dvou hodnot jako Math.Max ​​v .NET?

  4. Možnosti zotavení po havárii pro PostgreSQL nasazené do hybridního cloudu