Résumé :dans ce tutoriel, vous apprendrez à utiliser le GLOB
SQLite opérateur pour déterminer si une chaîne correspond à un modèle spécifique.
Introduction à SQLite GLOB
opérateur
Le GLOB
l'opérateur est similaire à LIKE
opérateur. Le GLOB
l'opérateur détermine si une chaîne correspond à un modèle spécifique.
Contrairement au LIKE
opérateur, le GLOB
l'opérateur est sensible à la casse et utilise les caractères génériques UNIX. De plus, le GLOB
les modèles n'ont pas de caractères d'échappement.
Ce qui suit montre les caractères génériques utilisés avec le GLOB
opérateur :
- Le caractère générique astérisque (*) correspond à n'importe quel nombre de caractères.
- Le caractère générique point d'interrogation (?) correspond exactement à un caractère.
En plus de ces caractères génériques, vous pouvez utiliser le caractère générique de liste [] pour faire correspondre un caractère d'une liste de caractères. Par exemple [xyz]
correspond à n'importe quel caractère x, y ou z.
Le caractère générique de la liste autorise également une plage de caractères, par exemple, [a-z] correspond à n'importe quel caractère minuscule unique de a à z. Le [a-zA-Z0-9]
modèle correspond à n'importe quel caractère alphanumérique unique, à la fois en minuscules et en majuscules.
De plus, vous pouvez utiliser le caractère ^
au début de la liste pour correspondre à n'importe quel caractère à l'exception de n'importe quel caractère de la liste. Par exemple, le [^0-9]
modèle correspond à n'importe quel caractère unique, à l'exception d'un caractère numérique.
SQLite GLOB
exemples
L'instruction suivante trouve les pistes dont les noms commencent par la chaîne Man
. Le motif Man*
correspond à toute chaîne commençant par Man
.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB 'Man*';
Code language: SQL (Structured Query Language) (sql)
Essayez-le
L'instruction suivante obtient les pistes dont les noms se terminent par Man
. Le motif *Man
correspond à toute chaîne se terminant par Man
.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*Man';
Code language: SQL (Structured Query Language) (sql)
Essayez-le
La requête suivante trouve les pistes dont les noms commencent par un seul caractère (?), suivi de la chaîne ere
puis n'importe quel nombre de caractères (*).
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '?ere*';
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Pour trouver les pistes dont les noms contiennent des numéros, vous pouvez utiliser le joker de la liste [0-9]
comme suit :
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]*';
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Ou pour trouver les pistes dont le nom ne contient aucun numéro, vous placez le caractère ^
au début de la liste :
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[^1-9]*';
Code language: SQL (Structured Query Language) (sql)
Essayez-le
L'instruction suivante recherche les pistes dont le nom se termine par un chiffre.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]';
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Dans ce tutoriel, vous avez appris à utiliser SQLite GLOB
opérateur pour tester si une chaîne correspond à un modèle spécifique.