Todos os produtos
Search
Central de documentação

MaxCompute:FIND_IN_SET

Última atualização: Sep 17, 2026

A função FIND_IN_SET retorna a posição da string str1 na string str2, cujos elementos são separados pelo delimiter. A primeira posição é 1.

Sintaxe

BIGINT FIND_IN_SET(STRING <str1>, STRING <str2>[, STRING <delimiter>])

Parâmetros

Parâmetro

Obrigatório

Descrição

str1

Sim

Valor do tipo STRING. Especifica a substring a ser pesquisada.

str2

Sim

Valor do tipo STRING. Define a string na qual as substrings estão separadas pelo delimiter.

delimiter

Não

Valor do tipo STRING. O delimiter padrão é a vírgula (,). O delimiter pode ser um único caractere ou uma string.

Valor de retorno

A função retorna um valor BIGINT conforme as condições abaixo:

  • Retorna 0 caso str1 não seja encontrada em str2 ou se str1 contiver o delimiter.

  • Retorna NULL quando str1 ou str2 for NULL.

Exemplos

  • Exemplo 1: Para localizar a posição da string ab na sequência abc,hello,ab,c, usando a vírgula (,) como separador, execute o comando a seguir:

    SELECT FIND_IN_SET('ab', 'abc,hello,ab,c') AS pos;

    Resultado:

    +------------+
    | pos        |
    +------------+
    | 3          |
    +------------+
  • Exemplo 2: Ao buscar a string hi dentro de abc,hello,ab,c, delimitada por vírgula (,), utilize este comando:

    SELECT FIND_IN_SET('hi', 'abc,hello,ab,c') AS pos;

    Resultado:

    +------------+
    | pos        |
    +------------+
    | 0          |
    +------------+
  • Exemplo 3: Use o comando abaixo para encontrar a string ab em abc_hello_ab_c, considerando o underscore (_) como delimitador:

    SELECT FIND_IN_SET('ab', 'abc_hello_ab_c', '_') AS pos;

    Resultado:

    +------------+
    | pos        |
    +------------+
    | 3          |
    +------------+
  • Exemplo 4: Quando o parâmetro de entrada str1 ou str2 for NULL, aplique o seguinte comando:

    SELECT FIND_IN_SET(null, 'abc,hello,ab,c') AS pos;

    Resultado:

    +------------+
    | pos        |
    +------------+
    | NULL       |
    +------------+

Funções relacionadas

A função FIND_IN_SET pertence à categoria de funções de string. Para mais detalhes sobre funções de string voltadas para pesquisa e transformação de formato, consulte Visão geral das funções de string.