SQLite-Datenbank; eingebettete relationale Datenbank Material)

SQLite-Glob-Funktion Syntax

Funktion: Der GLOB-Operator von SQLite wird verwendet, um Textwerte in durch Platzhalter angegebenen Mustern abzugleichen. Wenn der Suchausdruck mit dem Musterausdruck übereinstimmt, gibt der GLOB-Operator „true“ zurück, also 1. Im Gegensatz zum LIKE-Operator berücksichtigt GLOB die Groß-/Kleinschreibung und folgt der UNIX-Syntax für die folgenden Platzhalterzeichen. Sternchen (*) Fragezeichen (?) Sternchen (*) steht für null, eine oder mehrere Zahlen oder Zeichen. Das Fragezeichen (?) steht für eine einzelne Zahl oder ein einzelnes Zeichen. Diese Symbole können in Kombination verwendet werden.

Syntax: Die grundlegende Syntax von * und ? lautet wie folgt:

SELECT FROM Tabellenname
WHERE Spalte GLOB 'XXXX*'
oder
SELECT FROM Tabellenname
WHERE Spalte GLOB '*XXXX*'
oder
SELECT FROM Tabellenname
WHERE Spalte GLOB 'XXXX?'
oder
SELECT FROM Tabellenname
WHERE Spalte GLOB '?XXXX'
oder
SELECT FROM Tabellenname
WHERE Spalte GLOB '?XXXX?'
oder
SELECT FROM Tabellenname
WHERE Spalte GLOB '? ??? '

Sie können N Mengen von Bedingungen mit den Operatoren AND oder OR kombinieren. Dabei kann XXXX eine beliebige Zahl oder ein beliebiger Zeichenfolgenwert sein.

SQLite-Glob-Funktion Beispiel

COMPANY 表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
COMPANY 表中 AGE 以 2 开头的所有记录:

sqlite> SELECT * FROM COMPANY WHERE AGE  GLOB '2*';
这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
COMPANY 表中 ADDRESS 文本里包含一个连字符(-)的所有记录:

sqlite> SELECT * FROM COMPANY WHERE ADDRESS  GLOB '*-*';
这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0