Diviser les chaînes par position de délimiteur dans Oracle SQL
La fonction INSTR dans Oracle SQL vous permet de diviser des chaînes en fonction de positions spécifiques des délimiteurs. Ceci est particulièrement utile lorsque vous devez extraire des parties spécifiques d'une chaîne. Par exemple, considérons une chaîne « F/P/O ». Si vous souhaitez diviser cette chaîne au niveau du délimiteur le plus éloigné, le résultat attendu est "F/P" et "O".
Pour y parvenir à l'aide d'Oracle SQL, vous pouvez exploiter l'instruction suivante :
SELECT SUBSTR(str, 1, INSTR(str, '/', -1, 1) - 1) AS part1, SUBSTR(str, INSTR(str, '/', -1, 1) + 1) AS part2 FROM data
Cette instruction utilise la start_position négative dans INSTR pour compter à rebours à partir de la fin de la chaîne, en localisant le délimiteur le plus éloigné. La fonction SUBSTR est ensuite utilisée pour extraire les sous-chaînes avant et après le délimiteur.
Réponse aux résultats inattendus
Dans votre requête initiale, le résultat inattendu peut s'être produit parce que vous potentiellement omis la start_position dans l'appel INSTR. Ajuster start_position à une valeur négative garantira que la fonction recherche à partir de la fin de la chaîne le délimiteur le plus éloigné.
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!