SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite-GLOB

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.