Clausola SQLite Glob
SQLite L'operatoreGLOB viene utilizzato per abbinare un modello jolly valore di testo specificato.Se l'espressione di ricerca e di espressione pattern matching, operatore GLOB restituisce true (vero), che è 1. E l'operatore LIKE è diverso, GLOB è case sensitive, per i seguenti caratteri jolly, che segue la sintassi di UNIX.
Un asterisco (*)
Il punto interrogativo (?)
Un asterisco (*) rappresenta zero, uno o più cifre o caratteri. Il punto interrogativo (?) Rappresenta una singola cifra o carattere. Questi simboli possono essere utilizzati in combinazione.
grammatica
? * E la sintassi di base è la seguente:
SELECT FROM table_name DOVE colonna GLOB 'XXXX *' o SELECT FROM table_name DOVE colonna GLOB '* * XXXX' o SELECT FROM table_name DOVE colonna GLOB 'XXXX?' o SELECT FROM table_name DOVE colonna GLOB '? XXXX' o SELECT FROM table_name DOVE colonna GLOB '? XXXX?' o SELECT FROM table_name DOVE colonna GLOB '????'
È possibile utilizzare l'operatore AND o OR per combinare il numero N di condizioni. Qui, XXXX può essere qualsiasi numero o una stringa di valore.
Esempi
I seguenti esempi dimostrano la clausola GLOB luoghi diversi con '*' e gli operatori '?':
语句 | 描述 |
---|---|
WHERE SALARY GLOB '200*' | 查找以 200 开头的任意值 |
WHERE SALARY GLOB '*200*' | 查找任意位置包含 200 的任意值 |
WHERE SALARY GLOB '?00*' | 查找第二位和第三位为 00 的任意值 |
WHERE SALARY GLOB '2??' | 查找以 2 开头,且长度至少为 3 个字符的任意值 |
WHERE SALARY GLOB '*2' | 查找以 2 结尾的任意值 |
WHERE SALARY GLOB '?2*3' | 查找第二位为 2,且以 3 结尾的任意值 |
WHERE SALARY GLOB '2???3' | 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值 |
Facciamo un esempio pratico, tavolo SOCIETÀ supponiamo che ha i seguenti documenti:
NOME ID Età Indirizzo STIPENDIO ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norvegia 20000.0 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 85.000,0 6 Kim 22 Sud-Hall 45.000,0 7 James 24 Houston 10000.0
Ecco un esempio, mostra la tabella COMPANY AGE 2 tutti i record che iniziano con:
sqlite> SELECT * FROM AZIENDA DOVE AGE GLOB '2 *';
Questo produce i seguenti risultati:
NOME ID Età Indirizzo STIPENDIO ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 3 Teddy 23 Norvegia 20000.0 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 85.000,0 6 Kim 22 Sud-Hall 45.000,0 7 James 24 Houston 10000.0
Ecco un esempio, visualizza la tabella di testo SOCIETA 'INDIRIZZO contiene un trattino (-) tutti i record:
sqlite> SELECT * FROM AZIENDA DOVE INDIRIZZO GLOB '* - *';
Questo produce i seguenti risultati:
NOME ID Età Indirizzo STIPENDIO ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65.000,0 6 Kim 22 Sud-Hall 45.000,0