SQL NULL værdi

NULL-værdier er manglende ukendte data.

Standardmæssigt kan tabellens kolonner gemme NULL-værdier.

Dette kapitel forklarer IS NULL og IS NOT NULL operatorer.

SQL NULL værdi

Hvis en kolonne i tabellen er valgfri, kan vi indsætte nye poster eller opdatere eksisterende poster uden at tilføje en værdi til kolonnen. Dette betyder, at feltet vil gemme sig som en NULL-værdi.

Behandling af NULL-værdier adskiller sig fra andre værdier.

NULL bruges som en placeholder for ukendte eller ikke anvendelige værdier.

Bemærk:Man kan ikke sammenligne NULL med 0; de er ikke ligeglade.

SQL NULL-værdihåndtering

Se nedenstående "Persons"-tabel:

Id Efternavn Fornavn Adresse By
1 Adams John   London
2 Bush George Fifth Avenue New York
3 Carter Thomas   Beijing

Hvis "Persons"-tabellens "Adresse"-kolonne er valgfri. Dette betyder, at hvis der indsættes en post uden værdi i "Adresse"-kolonnen, vil "Adresse"-kolonnen gemme NULL-værdien.

Så hvordan tester vi NULL-værdier?

Man kan ikke bruge sammenligningsoperatorer til at teste NULL-værdier, såsom =, <, eller <>.

Vi må bruge IS NULL og IS NOT NULL operatorer.

SQL IS NULL

Hvordan vælger vi kun poster, der har NULL-værdier i "Adresse"-kolonnen?

Vi må bruge IS NULL operatoren:

SELECT Efternavn,Fornavn,Adresse FROM Persons
WHERE Adresse IS NULL

Resultatsæt:

Efternavn Fornavn Adresse
Adams John  
Carter Thomas  

Tip:Brug altid IS NULL til at finde NULL-værdier.

SQL IS NOT NULL

Hvordan vælger vi poster, der ikke har NULL-værdier i "Adresse"-kolonnen?

Vi må bruge IS NOT NULL operatoren:

SELECT Efternavn,Fornavn,Adresse FROM Persons
WHERE Adresse IS NOT NULL

Resultatsæt:

Efternavn Fornavn Adresse
Bush George Fifth Avenue

I det næste afsnit lærer vi ISNULL(), NVL(), IFNULL() og COALESCE() funktioner.