Dans Oracle, la méthode instr est utilisée pour déterminer si une chaîne contient le caractère spécifié. Cette méthode peut trouver le caractère spécifié dans une chaîne et renvoyer la position du caractère spécifié trouvé. Syntaxe Il s'agit de "instr('chaîne source'. ,'chaîne cible','position de départ','nombre d'occurrences')".
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
1. Le concept de fonction instr
Dans Oracle, vous pouvez utiliser la fonction instr pour juger une chaîne afin de déterminer si elle contient des caractères spécifiés. Recherchez le caractère spécifié dans une chaîne et renvoyez la position du caractère spécifié trouvé.
Deuxièmement, la syntaxe
instr(sourceString,destString,start,appearPosition) instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')
où sourceString représente la chaîne source ;
destString représente la sous-chaîne à trouver à partir de la chaîne source
start représente la position de départ de la recherche ; ;
lookingPosition représente le nombre de fois que destString apparaît à partir du caractère source. Ce paramètre est également facultatif. La valeur par défaut est 1
Si la valeur de start est un nombre négatif, cela signifie une recherche de droite à gauche, mais les données de position sont toujours. compter de gauche à droite.
La valeur de retour est : la position de la chaîne trouvée. S'il n'est pas trouvé, 0 est renvoyé.
Trois, par exemple :
Trouver la position de a dans abcd, commencer par la première lettre et trouver la position lorsqu'elle apparaît pour la première fois (les deux derniers paramètres peuvent être omis, la valeur par défaut est 1)
select instr('abcd','a',1,1) from dual; ---1 select instr('abcd','c',1,1) from dual; ---3 select instr('abcd','e',1,1) from dual; ---0
Cette fonction peut être utilisée pour les requêtes floues et le jugement des relations d'inclusion :
Par exemple :
select code,name,dept,occupation from staff where instr(code, '001')> 0;
est équivalent à
select code, name, dept, occupation from staff where code like '%001%' ; select ccn,mas_loc from mas_loc where instr('FH,FHH,FHM',ccn)>0;
est équivalent à
select ccn,mas_loc from mas_loc where ccn in ('FH','FHH','FHM');
Tutoriel recommandé : "Oracle Video Tutorial"
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!