Wat is een NULL waarde in SQL
Wanneer de waarde van een database veld onbekend is, dan heeft het een NULL waarde. Het veld is dan nog nooit ingevuld. Dit kan bijvoorbeeld voorkomen wanneer iemand een contactformulier invult en het onderwerp leeg laat. In de database zal dit veld dan een NULL waarde hebben.
Door middel van een SQL statement kun je checken welke velden een NULL waarde hebben. In de WHERE clause kun je gebruik maken van IS NULL of IS NOT NULL.
Een voorbeeld hiervan is:
SELECT Productnaam
FROM Producten
WHERE Productomschrijving IS NULL;
In deze statement worden de productnamen geselecteerd waarbij de productomschrijving onbekend is.
Let op! Je kunt niet het ‘is gelijk aan’ teken = gebruiken om te testen of een veld een NULL waarde heeft.
Bijvoorbeeld:
WHERE Productomschrijving = NULL
Deze voorwaarde zal nooit waar zijn. Een waarde in een database veld kan namelijk nooit gelijk zijn aan NULL, want als het veld een NULL waarde heeft dan is de waarde onbekend. NULL is geen waarde en kan daarom niet vergeleken worden met een andere waarde.
Verschil met blanco waarde
Het is ook mogelijk dat een veld leeg is en dat de waarde van het veld wél bekend is. In dat geval is er een blanco waarde ‘ ‘. Een blanco waarde is een string met lengte 0. Om te testen of een veld een blanco waarde heeft kun je wel het ‘is gelijk aan’ teken = gebruiken.Een voorbeeld hiervan is:
SELECT Productnaam
FROM Producten
WHERE Productomschrijving = ‘ ‘
We gebruiken twee enkele quotes ( ‘ ) in de WHERE clause.
Om het verschil visueel te laten zien tussen een blanco waarde en een NULL waarde hieronder een voorbeeld. In de kolom Adres2 staat in de bovenste rij een blanco waarde. In de rij daaronder staat een NULL waarde.
De onderstaande SQL query selecteert alle kolommen waarbij het veld Adres2 een blanco waarde heeft. Er is 1 resultaat.
In onderstaande query worden alle kolommen geselecteerd waarbij het veld Adres2 een NULL waarde heeft. Er zijn 13 resultaten.
In onderstaande query worden alle kolommen geselecteerd waarbij het veld Adres2 zowel een NULL waarde als een blanco waarde kan hebben. Er zijn 14 resultaten.
Geef een reactie