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.