La fonction SPLIT fractionne la chaîne d'entrée source selon le séparateur spécifié delimiter. Le paramètre facultatif trimTailEmpty indique s'il faut conserver les chaînes vides finales. La fonction renvoie une valeur de type ARRAY<STRING>.
Syntaxe
ARRAY<STRING> SPLIT(STRING <source>, STRING <delimiter>[, BOOLEAN <trimTailEmpty>])
-- Standard example.
-- Returns ["a","b","c"].
SELECT SPLIT('a,b,c', ',');
Paramètres
source : Obligatoire. Chaîne à fractionner. Le type de données est STRING.
delimiter : Obligatoire. Séparateur utilisé pour fractionner la chaîne. Ce paramètre prend en charge les expressions régulières. Le type de données est STRING.
trimTailEmpty : Facultatif. Indique s'il faut conserver les chaînes vides finales. La valeur par défaut est
true. Si vous définissez ce paramètre surfalse, les chaînes vides finales sont conservées. Le type de données est BOOLEAN.
Valeur de retour
Renvoie une valeur de type ARRAY<STRING>.
Exemples
-
Exemple 1 : Fractionner une chaîne à l'aide d'une virgule.
-- Returns ["a","b","c"]. SELECT SPLIT('a,b,c', ','); -
Exemple 2 : Gérer les cas où le séparateur est absent.
-- Returns ["a,b,c"]. SELECT SPLIT('a,b,c', ':'); -
Exemple 3 : Gérer les séparateurs consécutifs. Cela génère un élément de chaîne vide.
-- Returns ["a","","b"]. SELECT SPLIT('a,,b', ','); -
Exemple 4 : Utiliser un séparateur composé de plusieurs caractères.
-- Returns ["a","b","c"]. SELECT SPLIT('a::b::c', '::'); -
Exemple 5 : Conserver les chaînes vides finales.
-- By default, trailing empty strings are not returned. -- Returns ["a","b","c"]. SELECT SPLIT('a,b,c,,', ','); -- Return trailing empty strings. -- Returns ["a","b","c","",""]. SELECT SPLIT('a,b,c,,', ',', false); -
Exemple 6 : Utiliser un caractère d'échappement ou un caractère spécial comme séparateur.
-- Split by a line feed. -- Returns ["hello","world"]. SELECT SPLIT('hello\nworld', '\n'); -- Split by a tab character. -- Returns ["a","b","c"]. SELECT SPLIT('a\tb\tc', '\t'); -- Split by a carriage return. -- Returns ["line1","line2"]. SELECT SPLIT('line1\rline2', '\r'); -- Escape a backslash. -- Returns ["a","b","c"]. SELECT SPLIT('a\\b\\c', '\\\\'); -
Exemple 7 : Gérer les entrées NULL.
-- If any parameter is NULL, the function returns NULL. -- Returns NULL. SELECT SPLIT(NULL, ','); -- Returns NULL. SELECT SPLIT('a,b,c', NULL); -- Returns NULL. SELECT SPLIT('a,b,c', ',', NULL);
Fonctions associées
La fonction SPLIT est une fonction de manipulation de chaînes. Pour découvrir d'autres fonctions permettant de rechercher des chaînes et de transformer leur format, consultez les Fonctions de manipulation de chaînes.