SQLNULLvärde

NULL-värden är saknade okända data.

Som standard kan kolumnerna i en tabell lagra NULL-värden.

Detta kapitel förklarar IS NULL och IS NOT NULL-operatorerna.

SQLNULLvärde

Om en kolumn i en tabell är valfri, kan vi lägga till nya poster eller uppdatera befintliga poster utan att lägga till ett värde i denna kolumn. Detta innebär att fältet kommer att sparas som NULL-värde.

Hantering av NULL-värden skiljer sig från andra värden.

NULL används som en plats för okända eller oanvändbara värden.

Kommentar:Det är inte möjligt att jämföra NULL och 0; de är inte lika.

SQL hantering av NULL-värden

Se följande "Persons"-tabell:

Id Efternamn Förnamn Adress Stad
1 Adams John   London
2 Bush George Fifth Avenue New York
3 Carter Thomas   Beijing

Om "Persons"-tabellens "Adress"-kolumn är valfri. Detta innebär att om ett inlägg utan värde läggs till i "Adress"-kolumnen, kommer kolumnen att använda NULL-värden för att spara.

Så hur testar vi NULL-värden?

Det är inte möjligt att använda jämförelseoperatorer för att testa NULL-värden, till exempel =, <, eller <>.

Vi måste använda IS NULL och IS NOT NULL-operatorn.

SQL IS NULL

Hur väljer vi endast poster som har NULL-värden i "Adress"-kolumnen?

Vi måste använda IS NULL-operatorn:

SELECT Efternamn,Förnamn,Adress FROM Persons
WHERE Adress IS NULL

Resultatuppsättning:

Efternamn Förnamn Adress
Adams John  
Carter Thomas  

Tips:Använd alltid IS NULL för att hitta NULL-värden.

SQL IS NOT NULL

Hur väljer vi poster som inte har NULL-värden i "Adress"-kolumnen?

Vi måste använda IS NOT NULL-operatorn:

SELECT Efternamn,Förnamn,Adress FROM Persons
WHERE Adress IS NOT NULL

Resultatuppsättning:

Efternamn Förnamn Adress
Bush George Fifth Avenue

I nästa avsnitt lär vi oss ISNULL(), NVL(), IFNULL() och COALESCE() funktionerna.