SQLite - Clause LIKE

SQLite LIKEL'opérateur est utilisé pour faire correspondre les valeurs de texte à un modèle à l'aide de caractères génériques. Si l'expression de recherche peut être mise en correspondance avec l'expression de modèle, l'opérateur LIKE retournera true, qui est 1. 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 nombres ou caractères. Le trait de soulignement représente un seul nombre ou caractère. Ces symboles peuvent être utilisés dans des combinaisons.

Syntaxe

Voici la syntaxe de base de% et _.

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 Nnombre de conditions utilisant les opérateurs AND ou OR. Ici, XXXX peut être n'importe quelle valeur numérique ou chaîne.

Exemple

Le tableau suivant répertorie un certain nombre d'exemples montrant une partie WHERE ayant une clause LIKE différente avec les opérateurs '%' et '_'.

N ° Sr. 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 COMPANY avec les enregistrements suivants.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Voici un exemple, qui affichera tous les enregistrements de la table COMPANY où AGE commence par 2.

sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';

Cela produira le résultat suivant.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Voici un exemple qui affichera tous les enregistrements de la table COMPANY où ADDRESS aura un tiret (-) à l'intérieur du texte.

sqlite> SELECT * FROM COMPANY WHERE ADDRESS  LIKE '%-%';

Cela produira le résultat suivant.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0