Maison > base de données > tutoriel mysql > Comment puis-je diviser une colonne VARCHAR en plusieurs colonnes dans Oracle ?

Comment puis-je diviser une colonne VARCHAR en plusieurs colonnes dans Oracle ?

Linda Hamilton
Libérer: 2025-01-05 05:04:43
original
801 Les gens l'ont consulté

How Can I Split a VARCHAR Column into Multiple Columns in Oracle?

Diviser VARCHAR en colonnes distinctes dans Oracle

La tâche de transformer une colonne VARCHAR en colonnes distinctes en fonction d'un délimiteur spécifique pose un défi unique dans les systèmes de gestion de bases de données. Cette question explore la faisabilité de définir des colonnes une fois que l'ensemble de résultats a été structuré dans le but de diviser une chaîne en plusieurs parties.

Récupération et transformation de données

Dans cette Dans ce scénario, les données d'entrée sont constituées de commentaires avec un modèle de chaîne spécifique. L'objectif est de diviser ces commentaires en deux colonnes distinctes, la première section du commentaire apparaissant dans la première colonne et le reste du texte dans la deuxième colonne. Par exemple, si la valeur récupérée est :

COLUMN_ONE
--------------------
'D7ERROR username'
Copier après la connexion

Le résultat souhaité serait :

COL_ONE    COL_TWO
--------------------
D7ERROR   username   
Copier après la connexion

Solution utilisant SUBSTR et INSTR

En supposant que les données présentent un espacement cohérent entre les colonnes souhaitées, la requête suivante peut être used :

SELECT SUBSTR(t.column_one, 1, INSTR(t.column_one, ' ')-1) AS col_one,
       SUBSTR(t.column_one, INSTR(t.column_one, ' ')+1) AS col_two
  FROM YOUR_TABLE t
Copier après la connexion

Cette requête utilise la fonction SUBSTR pour extraire des parties de la chaîne en fonction de la position du premier caractère espace (telle que déterminée par INSTR). Le résultat est les deux colonnes souhaitées, avec le délimiteur supprimé.

Fonctionnalités avancées d'Oracle 10g

Pour Oracle 10g et les versions ultérieures, des options plus flexibles sont disponibles à l'aide d'expressions régulières. (expression régulière). La fonction REGEXP_SUBSTR permet une puissante correspondance de modèles et de chaînes manipulation.

Références :

  • [SUBSTR](https://docs.oracle.com/en/database/oracle/oracle-database/19 /sql/SUBSTR.html)
  • [INSTR](https://docs.oracle.co m/en/database/oracle/oracle-database/19/sql/INSTR.html)
  • [REGEXP_SUBSTR](https://docs.oracle.com/en/database/oracle/oracle-database/ 19/sql/REGEXP_SUBSTR.html)

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