Tutoriel classi...SE CONNECTER
Tutoriel classique SQLite
auteur:php.cn  temps de mise à jour:2022-04-13 17:05:02

Clause de type SQLite


L'opérateur LIKE de SQLite est utilisé pour faire correspondre les valeurs de texte dans les modèles spécifiés par des caractères génériques. L'opérateur LIKE renvoie vrai, qui vaut 1, si l'expression de recherche correspond à l'expression de modèle. Deux caractères génériques sont utilisés avec l'opérateur LIKE :

  • Signe de pourcentage (%)

  • Souligné (_)

Le signe pourcentage (%) représente zéro, un ou plusieurs chiffres ou caractères. Un trait de soulignement (_) représente un seul chiffre ou caractère. Ces symboles peuvent être utilisés en combinaison.

Syntaxe

La syntaxe de base de % et _ est la suivante :

SELECT FROM table_name
WHERE colonne LIKE 'XXXX%'

ou

SELECT FROM table_name
WHERE colonne LIKE '%XXXX%'

ou

SELECT FROM table_name
WHERE colonne LIKE 'XXXX_ '

ou

SELECT FROM table_name
WHERE colonne LIKE '_XXXX'

ou

SELECT FROM table_name
WHERE colonne LIKE '_XXXX_ '

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

Exemples

Les exemples suivants illustrent les différences entre les clauses LIKE avec les opérateurs '%' et '_' :

语句描述
WHERE SALARY LIKE '200%'查找以 200 开头的任意值
WHERE SALARY LIKE '%200%'查找任意位置包含 200 的任意值
WHERE SALARY LIKE '_00%'查找第二位和第三位为 00 的任意值
WHERE SALARY LIKE '2_%_%'查找以 2 开头,且长度至少为 3 个字符的任意值
WHERE SALARY LIKE '%2'查找以 2 结尾的任意值
WHERE SALARY LIKE '_2%3'查找第二位为 2,且以 3 结尾的任意值
WHERE SALARY LIKE '2___3'查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

Prenons un exemple pratique, en supposant que la table COMPANY contient les enregistrements suivants :

ID      “NAME   “AGE   “SALARY
---------- -- --- ----- ---------- ---------- ----------
1 Paul 32 Californie 20000.0
2 Allen 25 Texas 15000.0
3                                                                                                                                                                     –                                                                                >5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James          24                        10000.0 >
Ce qui suit est un exemple qui affiche tous les enregistrements de la table COMPANY dont l'ÂGE commence par 2 :
sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';

Cela produira les résultats suivants :

ID                                                                                                                                                                                                                         ------ ---------- ----------
2 "                                                                                                                 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

Le Voici un exemple qui affiche le texte ADDRESS dans la table COMPANY Tous les enregistrements contenant un trait d'union (-) :

sqlite> SELECT * FROM COMPANY WHERE ADDRESS LIKE '%-%';
Cela produira les résultats suivants :

ID NOM ÂGE ADRESSE SALAIRE
----------- ---------- - ----------- --- -------  ----------
4           Mark         25          Rich-Mond    65000.0
6           Kim          22          Sud- Hall  45000.0