De Functie ISNULL() SQL

Door Rachelle Blok
In SQL
15 juni 2014
0 Reacties
1939 Views

In SQL Server Management Studio kun je met de Functie ISNULL() een NULL waarde vervangen door een andere waarde. De ISNULL() functie heeft twee parameters nodig:
ISNULL(kolomnaam, vervangwaarde).
De kolomnaam is de naam van de kolom die je wilt controleren op NULL waardes. De vervangwaarde is de waarde waardoor de NULL waarde vervangen moet worden.  Als de entry geen NULL waarde heeft dan wordt de bestaande waarde overgenomen. We gebruiken onderstaande tabel.
functie IsNull SQL
In deze tabel zien we in de kolom Telefoonnummer een aantal NULL waardes. We willen deze NULL waarde vervangen door een andere waarde, bijvoorbeeld door de string ‘No Value‘. We gebruiken hiervoor de ISNULL() functie in onderstaande query.
[sql] SELECT *,
ISNULL(Telefoonnummer, ‘No’+ ‘ ‘ + ‘Value’) AS NullTelefoon
FROM TestTabel
[/sql]

Onderstaand zie je het resultaat. Er is een nieuwe kolom met de naam NullTelefoon gemaakt waarin de NULL waardes vervangen zijn door ‘No Value’. Als de datatypes tussen de entries uit de kolomnaam en de vervangwaarde verschillend zijn, dan wordt het type van de vervangwaarde impliciet geconverteerd naar het type van de geselecteerde kolom. De entries die geen NULL waarde hadden, zijn overgenomen.
functie IsNull SQL

Verschil met IS NULL

Let op dat de functie ISNULL() niet gelijk is aan IS NULL. Je gebruikt IS NULL om NULL waardes te vinden in bijvoorbeeld de WHERE clause. Je kunt hier niet de functie ISNULL() voor gebruiken. Als we alleen de rijen willen selecteren waarbij het telefoonnummer een NULL waarde heeft dan gebruik je onderstaande SQL query.

[sql] SELECT *
FROM TestTabel
WHERE Telefoonnummer IS NULL
[/sql]

Dit is het resultaat.
functie IsNull SQL
Als we de rijen willen selecteren waarbij het telefoonnummer een NULL waarde heeft en we willen deze NULL waardes vervolgens vervangen door ‘No Value’ dan kun je onderstaande query gebruiken.

[sql] SELECT *,
ISNULL(Telefoonnummer, ‘No’+ ‘ ‘ + ‘Value’) AS NullTelefoon
FROM TestTabel
WHERE Telefoonnummer IS NULL
[/sql]

Dit is het resultaat.
functie IsNull SQL

Zelf proberen

Wil je zelf experimenteren met de dataset? Gebruik dan onderstaande SQL queries. Je kunt de queries kopiëren en plakken.

Tabel maken:
[sql] CREATE TABLE TestTabel
(
ID INT NOT NULL,
Naam VARCHAR(30),
Telefoonnummer VARCHAR(20)
)
[/sql]

Tabel vullen:
[sql] INSERT INTO TestTabel(ID, Naam, Telefoonnummer)
VALUES (1, ‘Hendrik Pieters’, ‘01972836495’),
(2, ‘Sascha Milt’, ‘83920174658’),
(3, ‘Jan Loop’, NULL),
(4, ‘Simon Aarends’, ‘19203948274’),
(5, ‘Jip Poons’, NULL)
[/sql]

Over "" Heeft 37 Posts

Rachelle Blok studeert Data Science en schrijft blogartikelen voor ReportingBLOG, over verschillende tools zoals Excel, SQL Server en Crystal Reports. Rachelle heeft daarnaast een eigen bedrijf in webdesign.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *