Zusammenfassung :In diesem Tutorial lernen Sie, wie Sie das SQLite GLOB
verwenden -Operator, um festzustellen, ob eine Zeichenfolge mit einem bestimmten Muster übereinstimmt.
Einführung in SQLite GLOB
Betreiber
Der GLOB
Der Operator ähnelt dem LIKE
Operator. Der GLOB
Operator bestimmt, ob ein String mit einem bestimmten Muster übereinstimmt.
Im Gegensatz zum LIKE
Operator, der GLOB
Operator ist Groß-/Kleinschreibung und verwendet die UNIX-Platzhalter. Außerdem ist die GLOB
Muster haben keine Escape-Zeichen.
Das Folgende zeigt die Platzhalter, die mit dem GLOB
verwendet werden Betreiber:
- Das Sternchen (*) als Platzhalter entspricht einer beliebigen Anzahl von Zeichen.
- Das Fragezeichen (?) als Platzhalter entspricht genau einem Zeichen.
Zusätzlich zu diesen Platzhaltern können Sie den Listenplatzhalter [] verwenden, um ein Zeichen aus einer Liste von Zeichen abzugleichen. Zum Beispiel [xyz]
Übereinstimmung mit einem einzelnen x-, y- oder z-Zeichen.
Der Platzhalter für die Liste lässt auch eine Reihe von Zeichen zu, z. B. entspricht [a-z] jedem einzelnen Kleinbuchstaben von a bis z. Der [a-zA-Z0-9]
Muster entspricht jedem einzelnen alphanumerischen Zeichen, sowohl Klein- als auch Großbuchstaben.
Außerdem können Sie das Zeichen ^
verwenden am Anfang der Liste, um mit einem beliebigen Zeichen mit Ausnahme eines beliebigen Zeichens in der Liste übereinzustimmen. Beispiel:[^0-9]
Muster entspricht jedem einzelnen Zeichen außer einer Ziffer.
SQLite GLOB
Beispiele
Die folgende Anweisung findet Tracks, deren Namen mit der Zeichenfolge Man
beginnen . Das Muster Man*
entspricht jeder Zeichenfolge, die mit Man
beginnt .
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB 'Man*';
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die folgende Anweisung ruft die Tracks ab, deren Namen mit Man
enden . Das Muster *Man
entspricht jeder Zeichenfolge, die mit Man
endet .
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*Man';
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die folgende Abfrage findet die Tracks, deren Namen mit einem beliebigen einzelnen Zeichen (?) beginnen, gefolgt von der Zeichenfolge ere
und dann beliebig viele Zeichen (*).
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '?ere*';
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Um die Titel zu finden, deren Namen Zahlen enthalten, können Sie den Listenplatzhalter [0-9]
verwenden wie folgt:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]*';
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Oder um die Titel zu finden, deren Name keine Zahl enthält, geben Sie das Zeichen ^
ein am Anfang der Liste:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[^1-9]*';
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die folgende Anweisung findet die Tracks, deren Namen mit einer Zahl enden.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]';
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
In diesem Tutorial haben Sie gelernt, wie Sie SQLite GLOB
verwenden Operator, um zu testen, ob ein String mit einem bestimmten Muster übereinstimmt.