Maison > base de données > tutoriel mysql > Comment puis-je diviser une chaîne dans Oracle SQL en fonction de la position du délimiteur le plus éloigné ?

Comment puis-je diviser une chaîne dans Oracle SQL en fonction de la position du délimiteur le plus éloigné ?

Linda Hamilton
Libérer: 2025-01-06 00:50:40
original
774 Les gens l'ont consulté

How Can I Split a String in Oracle SQL Based on the Furthest Delimiter's Position?

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal