LIKE
Op deze pagina:
De LIKE wordt gebruikt in combinatie met WHERE om te zoeken naar een specifiek patroon in een kolom.
In het patroon kan je wildcards gebruiken, 2 van de meeste gebruikte wildcards zijn:
- %
- Het percentage teken vertegenwoordigt 0, 1 of meer karakters. (Microsoft Access gebruikt hier een sterretje "*" in plaats van een percentage teken)
- _
- De underscore vertegenwoordigt een enkel karakter. (Microsoft Access gebruikt hier een vraagteken "?" in plaats van een underscore.
Het percentage teken en de underscore kunnen ook in combinatie gebruikt worden. De voorwaarden zelf kunnen ook weer gecombineerd worden met behulp van AND en OR.
LIKE algemene vorm:
SELECT kolom1, kolom2, ...
FROM tabelnaam
WHERE kolomN LIKE pattern;
Voorbeelden:
--Klanten waarvan de Klantnaam start met een "a":
SELECT * FROM Klanten
WHERE Klantnaam LIKE 'a%';
--Klanten waarvan de Klantnaam eindigt op een "a":
SELECT * FROM Klanten
WHERE Klantnaam LIKE '%a';
--Klanten met "van" ergens in hun Klantnaam:
SELECT * FROM Klanten
WHERE Klantnaam LIKE '%van%';
--Klanten die een "r" op de tweede positie in hun Klantnaam hebben:
SELECT * FROM Klanten
WHERE Klantnaam LIKE '_r%';
--Klanten waarvan de Klantnaam start met een "a" en
--waarvan de Klantnaam minimaal 3 karakters lang is:
SELECT * FROM Klanten
WHERE Klantnaam LIKE 'a__%';
-- 2 underscores!
--Klanten waarvan de Klantnaam start met een "a" en
--waarvan de Klantnaam eindigt op een "o":
SELECT * FROM Klanten
WHERE Klantnaam LIKE 'a%o';
--Klanten waarvan de Klantnaam niet start met een "a":
SELECT * FROM Klanten
WHERE Klantnaam NOT LIKE 'a%';
Wildcard karakters
Een wildcard karakter wordt gebruikt om één of meer karakters te vervangen in een string. Wilcards kunnen ook gecombineerd worden.
Een overzicht:
- % (percentage) In Microsoft Access: "*" (sterretje)
- 0, 1 of meer karakters.
- _ (underscore) In Microsoft Access: "?" (vraagteken)
- Een enkel karakter.
- [] (vierkante haken)
- Een van de karakters tussen de haken
- ^ (dakje) In Microsoft Access: "!" (uitroepteken)
- Een van de karakters niet tussen de haken
- - (min-streepje)
- Een serie karakters
- # (hekje) Alleen in Microsoft Access
- Een cijfer.
Voorbeelden:
--Klanten met een Stad die begint met "Am":
SELECT * FROM Klanten
WHERE Stad LIKE 'Am%';
--Klanten met een Stad die "ster" bevat:
SELECT * FROM Klanten
WHERE Stad LIKE '%ster%';
--Klanten met een Stad die met elk karakter mag beginnen en gevolgd wordt door "onden":
SELECT * FROM Klanten
WHERE Stad LIKE '_onden';
/*
Klanten met een Stad die begint met "L",
gevolgd door enig ander karakter,
gevolgd door "n",
gevolgd door enig ander karakter,
gevolgd door "en":
*/
SELECT * FROM Klanten
WHERE Stad LIKE 'L_n_en';
--Klanten met een Stad die begint met een "A", "R" of een "S":
SELECT * FROM Klanten
WHERE Stad LIKE '[ARS]%';
--Klanten met een Stad die begint met een "A", "B" of "C":
SELECT * FROM Klanten
WHERE Stad LIKE '[A-C]%';
--Klanten met een Stad die niet begint met een "A", "R" of een "S":
SELECT * FROM Klanten
WHERE Stad LIKE '[!ARS]%';
--Of:
SELECT * FROM Klanten
WHERE Stad NOT LIKE '[ARS]%';