Problème :
Vous souhaitez sélectionner des lignes contenant une chaîne commençant par l'un d'un groupe de caractères donné.
Exemple :
Notre base de données a une table nommée gamer
avec des données dans le id
et user
colonnes.
identifiant | utilisateur |
---|---|
1 | surhomme |
2 | magnus |
3 | lucy |
4 | stan |
5 | ali |
Trouvons toutes les données des joueurs dont le nom d'utilisateur commence par "a", "b", "r" ou "s".
Solution :
SELECT id, user FROM gamer WHERE user LIKE '[abrs]%';
Voici le résultat :
identifiant | utilisateur |
---|---|
1 | surhomme |
4 | stan |
5 | ali |
Discussion :
Si vous souhaitez filtrer les lignes contenant une chaîne qui correspond à un modèle donné, utilisez la clause WHERE avec l'opérateur LIKE. La clause WHERE est utilisée pour filtrer les enregistrements qui remplissent les conditions indiquées. Après WHERE, vous ajoutez un nom de colonne ou une expression, suivi de l'opérateur (par exemple LIKE) et de la ou des valeurs de comparaison. Après LIKE, vous entrez le modèle à faire correspondre (dans notre exemple, WHERE user LIKE '[abrs]%'
). Le modèle peut contenir des caractères et des caractères génériques.
L'un des caractères génériques de T-SQL est '%', qui représente zéro ou plusieurs caractères inconnus. Le caractère générique de soulignement ( _ ) indique un caractère. Les crochets ( [] ) entourent le modèle à faire correspondre ; ce motif peut contenir une ou plusieurs lettres ou chiffres. La chaîne cible peut correspondre à un ou plusieurs des caractères entre parenthèses.
Dans notre exemple, le motif '[abrs]%'
indique que le nom d'utilisateur doit commencer par a, b, r ou s. Après le caractère de départ, il peut y avoir zéro ou plusieurs caractères car nous avons utilisé le caractère générique %.
Les utilisateurs avec id=2 et id=3 ne sont pas affichés ; leurs noms commencent par 'l' et 'm' et ne correspondent donc pas au modèle que nous avons sélectionné.