A função SPLIT divide a string de entrada source com base em um separador especificado delimiter. O parâmetro opcional trimTailEmpty define se as strings vazias à direita devem ser mantidas. A função retorna um valor do tipo ARRAY<STRING>.
Sintaxe
ARRAY<STRING> SPLIT(STRING <source>, STRING <delimiter>[, BOOLEAN <trimTailEmpty>])
-- Standard example.
-- Returns ["a","b","c"].
SELECT SPLIT('a,b,c', ',');
Parâmetros
source: Obrigatório. String a dividir. Tipo de dado: STRING.
delimiter: Obrigatório. Separador usado para dividir a string. Este parâmetro aceita regular expressions. Tipo de dado: STRING.
trimTailEmpty: Opcional. Define se as strings vazias à direita devem ser preservadas. O valor padrão é
true. Se definido comofalse, as strings vazias finais serão mantidas. Tipo de dado: BOOLEAN.
Valor de retorno
Retorna um valor do tipo ARRAY<STRING>.
Exemplos
-
Exemplo 1: Dividir uma string por vírgula.
-- Returns ["a","b","c"]. SELECT SPLIT('a,b,c', ','); -
Exemplo 2: Lidar com casos em que o separador não existe.
-- Returns ["a,b,c"]. SELECT SPLIT('a,b,c', ':'); -
Exemplo 3: Lidar com separadores consecutivos. Isso gera um elemento de string vazia.
-- Returns ["a","","b"]. SELECT SPLIT('a,,b', ','); -
Exemplo 4: Usar um separador com vários caracteres.
-- Returns ["a","b","c"]. SELECT SPLIT('a::b::c', '::'); -
Exemplo 5: Manter strings vazias à direita.
-- 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); -
Exemplo 6: Usar um caractere de escape ou 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', '\\\\'); -
Exemplo 7: Lidar com 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);
Funções relacionadas
A função SPLIT é uma função de string. Para obter mais funções de pesquisa e transformação de strings, consulte String functions.