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