Renvoie un segment spécifié d'une chaîne de caractères.
Syntaxe
SPLIT(chaîne_de_caractères; séparateur; segment <;qualificatif_texte>)
Paramètres
Nom | Type | Description |
---|---|---|
chaîne | caractère |
Le champ, l'expression ou la valeur littérale dont le segment doit être extrait. |
séparateur | caractère |
Caractère(s) délimitant les segments. Pour plus d'informations, consultez la section Fonctionnement du caractère de séparation. |
segment | numérique |
Segment à extraire. Utilisez un nombre pour préciser le segment à extraire. Par exemple, pour extraire le troisième segment, précisez 3. |
qualificatif_texte
optionnel |
caractère |
Caractère(s) indiquant le début et la fin des segments du texte. Si le caractère séparateur se trouve à l'intérieur d'une paire de qualificatifs de texte, il sera lu comme texte et non comme séparateur. Le qualificatif de texte doit être placé entre guillemets. Les qualificatifs de texte guillemets simples doivent être inclus entre guillemets doubles et les qualificatifs de texte guillemets doubles doivent être inclus entre guillemets simples. Astuce Le paramètre optionnel peut être pratique lorsque vous travaillez avec des données source importées contenant des séparateurs et des qualificatifs de texte. |
Sortie
Caractère.
Exemples
Exemples basiques
Segments délimités par des virgules
Renvoie "seg1" :
SPLIT("seg1 ; seg2 ;seg3" ; " ;" ; 1)
Renvoie "seg3" :
SPLIT("seg1,seg2,seg3"; ","; 3)
Renvoie "" (le troisième segment est vide) :
SPLIT("seg1,seg2,,seg4"; ","; 3)
Délimiteurs d'espace et à caractères multiples
Renvoie "seg3" :
SPLIT("seg1/*seg2/*seg3"; "/*"; 3)
Renvoie "Doe" :
SPLIT("Jane Doe"; " "; 2)
Échappement des délimiteurs avec un qualificatif de texte
Renvoie "Doe, Jane", incluant une virgule qui est lue comme partie intégrante du texte non comme un séparateur :
SPLIT('"Doe, Jane";"Smith, John"'; ","; 1; '"')
Exemples avancés
Extraire des chiffres à partir d'un numéro de carte de crédit
Utilisez la commande SPLIT( ) pour supprimer les tirets d'un numéro de carte de crédit.
Les variables sont utilisées pour capturer chaque segment du numéro de carte de crédit, et les segments sont ensuite concaténés dans une variable supplémentaire.
ASSIGN seg1 = SPLIT("4150-2222-3333-4444"; "-"; 1) ASSIGN seg2 = SPLIT("4150-2222-3333-4444"; "-"; 2) ASSIGN seg3 = SPLIT("4150-2222-3333-4444"; "-"; 3) ASSIGN seg4 = SPLIT("4150-2222-3333-4444"; "-"; 4) ASSIGN ccNum = seg1 + seg2 + seg3 + seg4
La valeur de ccNum est "4150222233334444".
L'exemple illustre l'usage de la fonction SPLIT( ), mais remarquez que les tirets peuvent être plus efficacement supprimés à l'aide de la fonction EXCLUDE( ).
Remarques
Fonctionnement
La fonction SPLIT ( ) divise les données caractère en segments en fonction des séparateurs (par exemple, les espaces ou les virgules), et renvoie un segment indiqué.
Quand utiliser la fonction SPLIT( )
Utilisez la fonction SPLIT( ) pour extraire un segment particulier de données d'un enregistrement ou d'un champ. Le segment doit apparaître à la même position dans chaque enregistrement ou champ.
Fonctionnement du caractère de séparation
Le caractère de séparation délimite, ou indique, les segments de données dans une chaîne source.
Dans une chaîne contenant beaucoup de segments, ceux-ci apparaissent entre deux séparateurs. Cependant, il est possible que le premier segment ne soit pas précédé d'un caractère de séparation, et que le dernier segment n'en soit pas suivi d'un.
Si la chaîne source ne commence pas par un séparateur, le segment précédant le premier séparateur est considéré comme étant le premier segment.
Renvoie "seg1" :
SPLIT("seg1 ; seg2 ;seg3" ; " ;" ; 1)
Si la chaîne source commence par un séparateur, le premier segment est considéré comme nul. Le segment qui suit le séparateur est considéré comme étant le deuxième segment.
Renvoie "seg1" :
SPLIT(";seg1;seg2;seg3"; ","; 2)
Respect de la casse
Si les séparateurs ou les qualificatifs de texte précisent les caractères ayant une version majuscule et une minuscule, la casse utilisée doit correspondre à la casse du séparateur ou du qualificatif de texte dans les données.
Fonctions associées
SPLIT( ) et SUBSTR( ) renvoient tous deux un segment de données d'une chaîne source plus longue.
- SPLIT( ) identifie le segment à partir d'un caractère de séparation.
- SUBSTR( ) identifie le segment à partir de la position d'un caractère numérique.