LIKE
I de foregående lektioner har vi kigget på filtre med eksakte værdier. Med LIKE kan man lave mere løse forespørgsler.
F.eks.
SELECT FirstName, LastName FROM Person.Person
WHERE LastName LIKE 'B%';
Giver dig alle personer med efternavn, der begynder med B. % er altså et jokertegn.
Tilsvande kan man naturligvis skrive
SELECT FirstName, LastName FROM Person.Person
WHERE LastName LIKE '%n';
Der giver alle personer, der slutter på n. Og
SELECT FirstName, LastName FROM Person.Person
WHERE LastName LIKE '%n%';
Der naturligvis giver alle personer med n i efternavnet.
Der er andre jokertegn _ er det man skal bruge, hvis det kun er et enkelt bogstav man er i tvivl om
SELECT FirstName, LastName FROM Person.Person
WHERE FirstName LIKE 'Ja_ob';
Der vil returnere både Jacob, Jakob (og naturligvis Jazob, hvis der skulle være sådan en ;-) ).
Endelig kan man bruge [] som jokertegn
SELECT FirstName, LastName FROM Person.Person
WHERE LastName LIKE '[BC]%';
Ovenstående vil returnere alle personer med efternavn, der begynder med B eller C.
Det kan udvides
SELECT FirstName, LastName FROM Person.Person
WHERE LastName LIKE '[BC][ef]%';;
Der så vil returnere alle personer med efternavn der begynder med B eller C og hvor andet bogstav er e eller f.
Endelig kan man smide et - ind i de kantede parenteser.
SELECT Name, ProductNumber FROM Production.Product
WHERE ProductNumber LIKE 'FW-[0-3]%';
Der vil returnere alle produkter med produktnummer, der starter med FW- og dernæst som 4 tegn har et tal mellem 0 og 3.
Smart ik'