Todos os produtos
Search
Central de documentação

MaxCompute:SPLIT

Última atualização: Aug 20, 2026

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 como false, 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.