Latest web development tutorials

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