Maison >base de données >tutoriel mysql >Comment puis-je diviser une valeur VARCHAR en plusieurs colonnes dans Oracle ?
Diviser les valeurs VARCHAR en colonnes distinctes dans Oracle
Pour répondre à une exigence courante de transformation de base de données, les utilisateurs recherchent souvent des moyens d'analyser les valeurs VARCHAR en colonnes distinctes. colonnes. Un scénario typique consiste à récupérer des commentaires à partir d'une table, où chaque commentaire commence par une chaîne spécifique, et l'objectif est de séparer le commentaire en deux colonnes distinctes.
Par exemple, considérons une valeur renvoyée telle que :
COLUMN_ONE -------------------- 'D7ERROR username'
Où doit se trouver le résultat souhaité :
COL_ONE COL_TWO -------------------- D7ERROR username
La définition de colonne est-elle possible après l'ensemble des résultats Structuration ?
La question clé réside dans la possibilité de définir de nouvelles colonnes une fois que l'ensemble de résultats a été structuré. La réponse dépend de la cohérence des données.
Solution pour des séparateurs cohérents
En supposant un délimiteur cohérent (par exemple, un seul espace) entre les deux valeurs souhaitées, le la requête suivante peut être utilisée :
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
Cette requête divise la chaîne en fonction de la première occurrence de l'espace caractère.
Solution Regex pour les séparateurs complexes
Pour des scénarios plus complexes, Oracle 10g et les versions ultérieures offrent la prise en charge des expressions régulières et une fonction de sous-chaîne regex. Cela offre une plus grande flexibilité dans la gestion des modèles de données variables.
Supplémentaire Références :
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!