- Catégories :
Fonctions de chaîne et fonctions binaires (général) , Fonctions de table
STRTOK_SPLIT_TO_TABLE¶
Tokenize une chaîne avec le jeu de délimiteurs donné et aplatit les résultats en lignes.
- Voir aussi :
Syntaxe¶
Arguments¶
Obligatoire :
stringTexte à tokeniser.
Facultatif :
delimiter_listEnsemble facultatif de délimiteurs. La valeur par défaut est un caractère d’espacement unique.
Sortie¶
Cette fonction renvoie les colonnes suivantes :
Nom de la colonne |
Type de données |
Description |
|---|---|---|
SEQ |
NUMBER |
Un numéro de séquence unique associé à l’enregistrement d’entrée. Il n’est pas garanti que la séquence ne présente pas d’écart ou qu’elle soit ordonnée d’une manière particulière. |
INDEX |
NUMBER |
L’index de base un de l’élément. |
VALUE |
VARCHAR |
Valeur de l’élément du tableau aplati. |
Note
La requête peut également accéder aux colonnes de la table d’origine (corrélée) ayant servi de source de données pour cette fonction. Si une seule ligne de la table d’origine a donné plusieurs lignes dans la vue aplatie, les valeurs de cette ligne d’entrée sont répliquées pour correspondre au nombre de lignes produites par cette fonction.
Exemples¶
Voici un exemple simple sur une entrée constante.
Créer une table et insérer des données :
Vous pouvez utiliser le LATERAL mot-clé avec la fonction STRTOK_SPLIT_TO_TABLE afin que la fonction s’exécute sur chaque ligne de la table splittable_strtok comme une table corrélée :
Cet exemple est identique au précédent, à la différence près qu’il spécifie plusieurs délimiteurs :
Créez une autre table contenant les auteurs dans une colonne et certains de leurs titres de livres dans une autre colonne. Dans les données de la table, les titres des livres peuvent être séparés par une virgule ou un point-virgule :
Utilisez le mot-clé LATERAL et la fonction SPLIT_TO_TABLE pour exécuter une requête qui renvoie une ligne distincte pour chaque titre. De plus, utilisez la fonction TRIM pour supprimer les espaces de début et de fin des titres. Notez que la liste SELECT comprend la colonne fixe value renvoyée par la fonction :