La función SPLIT divide la cadena de entrada source según un separador especificado delimiter. El parámetro opcional trimTailEmpty indica si se conservan las cadenas vacías al final. La función devuelve un valor de tipo ARRAY<STRING>.
Sintaxis
ARRAY<STRING> SPLIT(STRING <source>, STRING <delimiter>[, BOOLEAN <trimTailEmpty>])
-- Standard example.
-- Returns ["a","b","c"].
SELECT SPLIT('a,b,c', ',');
Parámetros
source: Obligatorio. Cadena que se va a dividir. El tipo de dato es STRING.
delimiter: Obligatorio. Separador que se utiliza para dividir la cadena. Este parámetro admite regular expressions. El tipo de dato es STRING.
trimTailEmpty: Opcional. Indica si se conservan las cadenas vacías al final. El valor predeterminado es
true. Si establece este parámetro enfalse, se conservan las cadenas vacías finales. El tipo de dato es BOOLEAN.
Valor devuelto
Devuelve un valor de tipo ARRAY<STRING>.
Ejemplos
-
Ejemplo 1: Dividir una cadena con una coma.
-- Returns ["a","b","c"]. SELECT SPLIT('a,b,c', ','); -
Ejemplo 2: Manejar casos en los que no existe el separador.
-- Returns ["a,b,c"]. SELECT SPLIT('a,b,c', ':'); -
Ejemplo 3: Manejar separadores consecutivos. Esto genera un elemento de cadena vacía.
-- Returns ["a","","b"]. SELECT SPLIT('a,,b', ','); -
Ejemplo 4: Usar un separador de varios caracteres.
-- Returns ["a","b","c"]. SELECT SPLIT('a::b::c', '::'); -
Ejemplo 5: Conservar las cadenas vacías al final.
-- 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); -
Ejemplo 6: Usar un carácter de escape o un carácter especial como separador.
-- 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', '\\\\'); -
Ejemplo 7: Manejar entradas 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);
Funciones relacionadas
La función SPLIT es una función de cadenas. Para consultar más funciones que permiten buscar cadenas y transformar formatos de texto, consulte String functions.