Samenvatting :in deze tutorial leer je hoe je de SQLite GLOB
. gebruikt operator om te bepalen of een tekenreeks overeenkomt met een specifiek patroon.
Inleiding tot de SQLite GLOB
telefoniste
De GLOB
operator is vergelijkbaar met de LIKE
exploitant. De GLOB
operator bepaalt of een string overeenkomt met een specifiek patroon.
In tegenstelling tot de LIKE
operator, de GLOB
operator is hoofdlettergevoelig en gebruikt de UNIX-jokertekens. Bovendien is de GLOB
patronen hebben geen escape-tekens.
Het volgende toont de jokertekens die worden gebruikt met de GLOB
operator:
- Het asterisk (*)-jokerteken komt overeen met een willekeurig aantal tekens.
- Het vraagteken (?) jokerteken komt exact overeen met één teken.
Naast deze jokertekens kunt u de lijstjokerteken [] gebruiken om één teken uit een lijst met tekens te matchen. Bijvoorbeeld [xyz]
overeenkomen met een enkel x-, y- of z-teken.
Het lijstjokerteken staat ook een reeks tekens toe, bijvoorbeeld [a-z] komt overeen met een enkel klein teken van a tot z. De [a-zA-Z0-9]
patroon komt overeen met elk afzonderlijk alfanumeriek teken, zowel kleine letters als hoofdletters.
Bovendien kunt u het teken ^
. gebruiken aan het begin van de lijst om overeen te komen met een willekeurig teken, behalve een willekeurig teken in de lijst. Bijvoorbeeld de [^0-9]
patroon komt overeen met elk afzonderlijk teken, behalve een numeriek teken.
SQLite GLOB
voorbeelden
De volgende instructie vindt tracks waarvan de naam begint met de tekenreeks Man
. Het patroon Man*
komt overeen met elke tekenreeks die begint met Man
.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB 'Man*';
Code language: SQL (Structured Query Language) (sql)
Probeer het
Het volgende statement haalt de tracks op waarvan de naam eindigt op Man
. Het patroon *Man
komt overeen met elke tekenreeks die eindigt op Man
.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*Man';
Code language: SQL (Structured Query Language) (sql)
Probeer het
De volgende zoekopdracht vindt de tracks waarvan de naam begint met een enkel teken (?), gevolgd door de tekenreeks ere
en vervolgens een willekeurig aantal tekens (*).
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '?ere*';
Code language: SQL (Structured Query Language) (sql)
Probeer het
Om de nummers te vinden waarvan de namen nummers bevatten, kunt u het lijstjokerteken [0-9]
. gebruiken als volgt:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]*';
Code language: SQL (Structured Query Language) (sql)
Probeer het
Of om de nummers te vinden waarvan de naam geen nummer bevat, plaatst u het teken ^
aan het begin van de lijst:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[^1-9]*';
Code language: SQL (Structured Query Language) (sql)
Probeer het
De volgende verklaring vindt de nummers waarvan de naam eindigt op een nummer.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]';
Code language: SQL (Structured Query Language) (sql)
Probeer het
In deze zelfstudie hebt u geleerd hoe u SQLite GLOB
. gebruikt operator om te testen of een string overeenkomt met een specifiek patroon.