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

Qu'est-ce que l'opérateur logique LIKE dans SQL Server - Tutoriel SQL Server / TSQL Partie 123

Qu'est-ce que l'opérateur logique LIKE :

L'opérateur logique LIKE est utilisé lorsque nous voulons renvoyer la ligne si l'opérande correspond à un modèle. L'opérateur Like renvoie VRAI si l'opérande correspond à un modèle.


Parfois, nous devons effectuer une correspondance de modèle au lieu de égal ou non égal. Like est utilisé lorsque nous voulons renvoyer la ligne si une chaîne de caractères spécifique correspond à un modèle spécifié. Le modèle peut être une combinaison de caractères normaux et de caractères génériques.
Pour renvoyer la ligne vers l'arrière, les caractères normaux doivent correspondre exactement aux caractères spécifiés dans la chaîne de caractères. Les caractères génériques peuvent correspondre à des parties arbitraires de la chaîne de caractères.

Créons la table dbo.Customer puis créons quelques exemples en temps réel

Créons la table dbo.Customer (Id int, FName VARCHAR(50), LName VARCHAR(50) , CountryShortName CHAR(2))GOinsert into dbo.CustomerValues ​​(1,'Raza','M','PK'),(2,'Rita','John','US'),(3,'Sukhi' ,'Singh',Null),(4,'James','Smith','CA'),(5,'Robert','Ladson','US'),(6,'Alice','John' ,'US'),(7,'Raza','M','US'),
(8,'Dita','M','US'),
(9,'Adita','M','US')
 
1) Utiliser %
Disons si nous voulons trouver toutes les lignes où FName contient "i". Nous pouvons utiliser la requête ci-dessous

Select * From dbo.Customerwhere FName like '%i%'
 
Comment utiliser % avec l'opérateur Like dans SQL Server - Tutoriel SQL Server / TSQL
 












Remarqué qu'en utilisant % avant et après "i", nous disons à la requête de trouver toutes les lignes dans lesquelles FName a le caractère "i" et peu importe les autres caractères avant et après "i".


2) Utilisation de _ (trait de soulignement)
Le trait de soulignement peut être utilisé lorsque nous voulons vérifier un seul caractère qui peut être n'importe quoi et fournir le reste des caractères pour notre correspondance. Disons que si je veux trouver toutes les lignes où le premier caractère de FName peut être n'importe quoi mais le reste doit être "ita". Je peux utiliser la requête ci-dessous.

Select * From dbo.Customerwhere FName like '_ita'
Comment utiliser le trait de soulignement ( _ ) avec l'opérateur Like dans SQL Server - Tutoriel SQL Server / TSQL
 3) Utilisation de [ ] - N'importe quel caractère unique dans la plage spécifiée [a-t] ou l'ensemble [abc] 
Comme l'opérateur avec [ ] peut être utilisé lorsque nous voulons avoir une plage. Disons si je veux trouver toutes les lignes où le premier caractère de FName commence par [a-f]. Nous pouvons utiliser la requête ci-dessous.

Select * From dbo.Customerwhere FName like '[a-f]%'
 
Comment utiliser l'opérateur Rang with Like dans SQL Server pour la recherche - Tutoriel SQL Server / TSQL
 Comme vous pouvez le voir, j'ai utilisé [a-f]%. Cela signifie que je veux le premier caractère de a à f et après cela, tous les caractères sont corrects car j'ai utilisé %.

4) [^] Tout caractère unique PAS dans la plage spécifiée [a-t] ou définissez [abc]
Disons si je veux trouver toutes les lignes où le premier caractère de FName ne commence PAS par [a à f]. Nous pouvons utiliser la requête ci-dessous.

Sélectionnez * From dbo.Customer
où FName comme '[^a-f]%'
 
Comment utiliser Not in Range avec Like Operator dans SQL Server - Tutoriel SQL Server / TSQL
 
Remarqué qu'il ne nous a renvoyé que les lignes qui ne commencent par aucun caractère de a à f.


Disons que si nous voulons obtenir toutes les lignes où FName ne le fait pas commencer par a,d,j. nous pouvons utiliser la requête ci-dessous.

Sélectionnez * From dbo.Customer
où FName comme '[^adj]%'
 

Démo vidéo :Comment utiliser l'opérateur logique Like dans SQL Server