T-SQL - Clause LIKE

Le serveur MS SQL LIKELa clause est utilisée pour comparer une valeur à des valeurs similaires à l'aide d'opérateurs génériques. Deux caractères génériques sont utilisés en conjonction avec l'opérateur LIKE -

  • Le signe de pourcentage (%)
  • Le trait de soulignement (_)

Le signe de pourcentage représente zéro, un ou plusieurs caractères. Le trait de soulignement représente un seul nombre ou caractère. Les symboles peuvent être utilisés dans des combinaisons.

Syntaxe

Voici la syntaxe de base de% et _.

SELECT *\column-list FROM table_name 
WHERE column LIKE 'XXXX%' 
 
or   

SELECT *\column-list FROM table_name 
WHERE column LIKE '%XXXX%'  

or  

SELECT *\column-list FROM table_name 
WHERE column LIKE 'XXXX_'  

or  

SELECT *\column-list FROM table_name 
WHERE column LIKE '_XXXX'  

or  

SELECT  *\column-list FROM table_name 
WHERE column LIKE '_XXXX_'

Vous pouvez combiner N nombre de conditions à l'aide des opérateurs AND ou OR. XXXX peut être n'importe quelle valeur numérique ou chaîne.

Exemple

Voici un certain nombre d'exemples montrant la partie WHERE ayant une clause LIKE différente avec les opérateurs '%' et '_'.

Sr. Non Déclaration et description
1

WHERE SALARY LIKE '200%'

Recherche toutes les valeurs commençant par 200

2

WHERE SALARY LIKE '%200%'

Recherche toutes les valeurs qui ont 200 dans n'importe quelle position

3

WHERE SALARY LIKE '_00%'

Recherche toutes les valeurs qui ont 00 dans les deuxième et troisième positions

4

WHERE SALARY LIKE '2_%_%'

Recherche toutes les valeurs commençant par 2 et comportant au moins 3 caractères

5

WHERE SALARY LIKE '%2'

Recherche toutes les valeurs qui se terminent par 2

6

WHERE SALARY LIKE '_2%3'

Recherche toutes les valeurs qui ont un 2 en deuxième position et se terminent par un 3

sept

WHERE SALARY LIKE '2___3'

Recherche toutes les valeurs d'un nombre à cinq chiffres commençant par 2 et se terminant par 3

Considérez la table CUSTOMERS ayant les enregistrements suivants.

ID  NAME       AGE       ADDRESS            SALARY 
1   Ramesh     32        Ahmedabad          2000.00 
2   Khilan     25        Delhi              1500.00 
3   kaushik    23        Kota               2000.00 
4   Chaitali   25        Mumbai             6500.00 
5   Hardik     27        Bhopal             8500.00 
6   Komal      22        MP                 4500.00 
7   Muffy      24        Indore             10000.00

La commande suivante est un exemple, qui affichera tous les enregistrements de la table CUSTOMERS où SALARY commence par 200.

SELECT * FROM CUSTOMERS 
WHERE SALARY LIKE '200%';

La commande ci-dessus produira la sortie suivante.

ID   NAME     AGE     ADDRESS       SALARY 
1    Ramesh   32      Ahmedabad     2000.00 
3    kaushik  23      Kota          2000.00