Database
 sql >> Base de données >  >> RDS >> Database

Comment remplacer une partie d'une chaîne dans T-SQL

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é.