Maison >base de données >Oracle >A quoi sert like dans Oracle
Dans Oracle, le mot-clé like peut être utilisé avec la clause Where pour obtenir des effets de requête flous. Il peut être utilisé avec des caractères génériques pour limiter les conditions d'expression. La syntaxe est "SELECT*FROM user WHERE uname LIKE wildcard".
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
1. Nous pouvons utiliser le mot-clé like dans la clause Where pour obtenir l'effet de requête floue Oracle dans la clause Where, nous pouvons l'utiliser pour les colonnes datetime, char et ; Les types de champs varchar. Les mots-clés Like sont utilisés avec des caractères génériques pour implémenter des requêtes floues. Voici les caractères génériques qui peuvent être utilisés :
(1)% : zéro ou plusieurs caractères, il existe trois situations lors de l'utilisation d'un champ %
comme '%. Le champ "mot-clé%" contient le "mot-clé" "Enregistrements
champ comme les enregistrements dont le champ 'mot-clé%' commence par "mot-clé"
champ comme les enregistrements dont le champ '%mot-clé' se termine par "mot-clé"
Exemple :
SELECT * FROM [user] WHERE uname LIKE ‘%三%’
Résultats de la recherche : " Trouvez tous les enregistrements avec "trois" dans "Zhang San", "Xiao San", "Chat à trois pattes", "Chat à trois pattes".
SELECT * FROM [user] WHERE uname LIKE ‘%三’ (从后开始匹配)
Résultats de recherche : "Zhang San", "Xiao San"
De plus, si vous avez besoin de trouver des enregistrements contenant à la fois "三" et "cat" dans uname, veuillez utiliser la condition et
SELECT *FROM [user] WHERE uname LIKE ‘%三%’ AND uname LIKE ‘%猫%’
Si vous utilisez SELECT * FROM [ user] WHERE uname LIKE '%三%cat%', bien qu'il puisse rechercher "chat à trois pattes", il ne peut pas rechercher "chat à trois pattes".
(2)_ : N'importe quel caractère unique (trait de soulignement) est souvent utilisé pour limiter la longueur des caractères des expressions :
Exemple :
SELECT * FROM [user] WHERE uname LIKE ‘三’
Résultats de recherche : "chat à trois pattes" donc uname est composé de trois caractères et celui du milieu est "三" ;
SELECT * FROM [user] WHERE uname LIKE ‘三__’;
Résultats de recherche : "Chat à trois pattes" donc uname est composé de trois caractères et le premier est "三" ;
(3)[] : Caractères dans une certaine plage, indiquant les caractères répertoriés entre parenthèses. de (semblable à une expression régulière). Spécifiez un caractère, une chaîne ou une plage, exigeant que l'objet correspondant soit l'un d'entre eux.
Exemple :
SELECT * FROM [user] WHERE u_name LIKE ‘[张李王]三’
Résultats de recherche : "Zhang San", "Li San", "Wang San" (au lieu de "Zhang Li Wang San");
Par exemple, [ ] contient une série de caractères (01234, abcde, etc. ) peut être abrégé en "0-4", "a-e"
SELECT * FROM [user] WHERE u_name LIKE ‘老[1-9]’
Résultats de recherche : "Old 1", "Old 2",..., "Old 9"
(4) [^ ] : Non disponible L'utilisation des caractères dans une certaine plage est opposée à [ ].
2. La fonction instr(strSource, strTarget) est fournie dans Oracle, ce qui est bien plus efficace que l'utilisation du mode '%mot-clé%'. La fonction
instr a également trois situations :
instr(field,'keyword')>0 est équivalent à un champ comme '%keyword%'
instr(field,'keyword')=1 est équivalent à un champ comme ' Keyword%'
instr(field,'keyword')=0 est équivalent à un champ différent de '%keyword%'
Exemple :
SELECT * FROM [user] WHEREinstr(uname ,’三’)>0
Pour l'utilisation, veuillez vous référer à Comme ci-dessus
Utilisation spéciale :
select id, namefrom user where instr(‘101914, 104703’, id) > 0;
It équivaut à
select id, namefrom user where id = 101914 or id = 104703;
Tutoriel recommandé : "Tutoriel vidéo Oracle"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!