clause SQLite Glob
SQLite L'opérateurGLOB est utilisé pour correspondre à un modèle générique valeur de texte spécifié.Si l'expression de recherche et le modèle d'expression correspondant, opérateur GLOB retourne true (vrai), qui est 1. Et l'opérateur LIKE est différent, GLOB est sensible à la casse pour les caractères génériques suivants, qui suit la syntaxe UNIX.
Un astérisque (*)
Le point d'interrogation (?)
Un astérisque (*) représente zéro, un ou plusieurs chiffres ou caractères. Le point d'interrogation (?) Représente un seul chiffre ou caractère. Ces symboles peuvent être utilisés en combinaison.
grammaire
? * Et la syntaxe de base est la suivante:
SELECT FROM table_name WHERE colonne GLOB 'XXXX *' ou SELECT FROM table_name WHERE colonne GLOB '* XXXX *' ou SELECT FROM table_name WHERE colonne GLOB 'XXXX? ou SELECT FROM table_name WHERE colonne GLOB '? XXXX' ou SELECT FROM table_name WHERE colonne GLOB '? XXXX? ou SELECT FROM table_name WHERE colonne GLOB '????'
Vous pouvez utiliser le opérateur AND ou OR pour combiner le nombre N de conditions. Ici, XXXX peut être un nombre ou une chaîne de valeur.
Exemples
Les exemples suivants illustrent la clause GLOB différentes places avec '*' et opérateurs '?':
语句 | 描述 |
---|---|
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 结尾的任意值 |
Prenons un exemple concret, supposons que la table de la société a les documents suivants:
ID NOM ADRESSE AGE SALAIRE ---------- ---------- ---------- ---------- ---------- 1 Paul 32 Californie 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norvège 20000.0 4 Mark 25 Rich-Mond 65000,0 5 David 27 Texas 85000,0 6 Kim 22 Sud-Hall 45000,0 7 James 24 Houston 10000.0
Voici un exemple, il montre la table de SOCIÉTÉ AGE 2 tous les enregistrements qui commencent par:
sqlite> SELECT * FROM ENTREPRISE OU ÂGE GLOB '2 *';
On obtient les résultats suivants:
ID NOM ADRESSE AGE SALAIRE ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 3 Teddy 23 Norvège 20000.0 4 Mark 25 Rich-Mond 65000,0 5 David 27 Texas 85000,0 6 Kim 22 Sud-Hall 45000,0 7 James 24 Houston 10000.0
Voici un exemple, il affiche la table ADDRESS texte COMPANY contient un trait d'union (-) tous les dossiers:
sqlite> SELECT * FROM ENTREPRISE OU ADRESSE GLOB '* - *';
On obtient les résultats suivants:
ID NOM ADRESSE AGE SALAIRE ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000,0 6 Kim 22 Sud-Hall 45000,0