Maison > base de données > tutoriel mysql > Comment extraire des sous-chaînes dans Oracle SQL jusqu'à un caractère spécifique ?

Comment extraire des sous-chaînes dans Oracle SQL jusqu'à un caractère spécifique ?

Patricia Arquette
Libérer: 2024-12-28 13:30:15
original
809 Les gens l'ont consulté

How to Extract Substrings in Oracle SQL Up to a Specific Character?

Sélection de sous-chaînes dans Oracle SQL jusqu'à un caractère spécifique

Dans de nombreuses applications de base de données, il est souvent nécessaire de sélectionner seulement une partie d'un colonne de chaîne basée sur un délimiteur spécifique. Dans Oracle SQL, l'extraction de sous-chaînes jusqu'à un caractère spécifique peut s'avérer difficile en raison de la nature basée sur la position de la fonction SUBSTRING. Cet article résout ce problème en présentant une solution complète qui capture avec précision les sous-chaînes en fonction d'un délimiteur désigné.

SOLUTION

Pour isoler les sous-chaînes jusqu'à un caractère spécifié, une combinaison trois fonctions peuvent être utilisées : SUBSTR, INSTR et NVL. SUBSTR permet l'extraction d'une partie d'une chaîne en fonction des positions de début et de fin. INSTR, d'autre part, identifie l'emplacement d'une sous-chaîne ou d'un caractère spécifié dans une chaîne donnée. NVL sert de mécanisme de secours, renvoyant la chaîne d'origine si le caractère spécifié n'est pas trouvé.

Par exemple, considérons la colonne de tableau suivante avec des valeurs :

ABC_blahblahblah
DEFGH_moreblahblahblah
IJKLMNOP_moremoremoremore
Copier après la connexion

Pour récupérer uniquement les sous-chaînes jusqu'au caractère de soulignement, la requête suivante peut être utilisée :

SELECT NVL(SUBSTR(column, 0, INSTR(column, '_')-1), column) AS output
  FROM table_name;
Copier après la connexion

Dans cette requête, la fonction NVL garantit que même les chaînes sans caractère de soulignement sont retournés, mais avec leur original valeur.

REFERENCE

  • [SUBSTR](https://docs.oracle.com/cd/B28359_01/appd ev.111/b28396/functions148.htm#CHDBCHCJ)
  • [INSTR](https://docs.oracle.com/cd/B28359 _01/appdev.111/b28396/functions152.htm#CHDBCHCL)
  • [NVL](https://docs.oracle.com/cd/ B28359_01/appdev.111/b28396/functions060.htm#SQLRF00120)

ADDENDUM

Dans Oracle10g et versions ultérieures, la fonction REGEXP_SUBSTR peut être utilisée pour une extraction de sous-chaînes plus flexible à l'aide d'expressions régulières.

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