SQL - Opérateurs génériques

Nous avons déjà discuté de l'opérateur SQL LIKE, qui est utilisé pour comparer une valeur à des valeurs similaires à l'aide des opérateurs génériques.

SQL prend en charge deux opérateurs génériques en conjonction avec l'opérateur LIKE qui sont expliqués en détail dans le tableau suivant.

Sr.No. Caractère générique et description
1

The percent sign (%)

Correspond à un ou plusieurs caractères.

Note - MS Access utilise le caractère générique astérisque (*) au lieu du caractère générique signe pourcentage (%).

2

The underscore (_)

Correspond à un caractère.

Note - MS Access utilise un point d'interrogation (?) Au lieu du trait de soulignement (_) pour correspondre à n'importe quel caractère.

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

Syntaxe

La syntaxe de base des opérateurs '%' et '_' est la suivante.

SELECT * FROM table_name
WHERE column LIKE 'XXXX%'

or 

SELECT * FROM table_name
WHERE column LIKE '%XXXX%'

or

SELECT * FROM table_name
WHERE column LIKE 'XXXX_'

or

SELECT * FROM table_name
WHERE column LIKE '_XXXX'

or

SELECT * FROM table_name
WHERE column LIKE '_XXXX_'

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

Exemple

Le tableau suivant contient un certain nombre d'exemples montrant la partie WHERE ayant différentes clauses LIKE avec les opérateurs '%' et '_'.

Sr.No. 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.

Prenons un exemple réel, considérons 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 |
+----+----------+-----+-----------+----------+

Le bloc de code suivant est un exemple, qui afficherait tous les enregistrements de la table CUSTOMERS où le SALAIRE commence par 200.

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

Cela produirait le résultat suivant.

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