Função SUBSTRING

Corresponde a uma string no todo ou em parte, com base nos valores de início e fim de índice definidos pelo usuário dentro da string.
  • A entrada pode ser uma referência de coluna ou um valor de literal de string.
  • Como a função SUBSTRING faz a correspondência com base em valores numéricos fixos, as alterações no comprimento ou na estrutura de um campo de dados podem impedir a execução correta da receita.
  • A função SUBSTRING requer valores numéricos para os valores de início e fim. Se for necessário combinar strings usando padrões, use a transformação extract. Consulte a transformação extract.

Uso básico

Exemplo de referência de coluna:

derive type:single value:SUBSTRING(MyName,0,5)

Saída: as cinco primeiras letras do valor da coluna MyName são gravadas na nova coluna.

Exemplo de literal de string:

derive type:single value:SUBSTRING('Hello, World',0,5)

Saída: a string Hello é gravada na nova coluna.

Sintaxe

derive type:single value:SUBSTRING(column_string,start_index,end_index)

ArgumentoObrigatório?Tipo de dadosDescrição
column_stringSstringNome da coluna ou literal de string a ser aplicado à função
start_indexSnúmero inteiro (positivo)Valor de índice do caractere de início proveniente da coluna ou valor de origem
end_indexSnúmero inteiro (positivo)Valor de índice do caractere de fim proveniente da coluna ou valor de origem

Para mais informações sobre os padrões de sintaxe, consulte as Notas de sintaxe da documentação da linguagem.

column_string

Nome de coluna ou constante de string a ser pesquisada.

  • Valores ausentes de coluna ou string geram resultados de string ausentes.
  • É necessário colocar as constantes de string entre aspas ('Hello, World').
  • Várias colunas e caracteres curinga não são aceitos.

Observações sobre o uso:

Tipo de dadosObrigatório?Valor de exemplo
StringSimMyName

start_index

Valor de índice do caractere na string para iniciar a correspondência de substring.

  • O índice do primeiro caractere da string é 0.
  • O valor precisa ser inferior a end_index.
  • Se esse valor for maior que o comprimento da string, será retornado um valor ausente.

Observações sobre o uso:

Tipo de dadosObrigatório?Valor de exemplo
Número inteiro (positivo)Sim0

end_index

Valor de índice do caractere na string que é um após o fim da correspondência de substring.

  • O valor precisa ser maior que start_index.
  • Se esse valor for maior que o comprimento da string, o fim da string será o fim da correspondência. Se você sabe o comprimento máximo dos dados, pode usar esse valor aqui.

Observações sobre o uso:

Tipo de dadosObrigatório?Valor de exemplo
Número inteiro (positivo)Sim5

Exemplos

Exemplo: informações de seção em CEPs

Fonte:

Um CEP dos EUA contém cinco dígitos com uma extensão opcional Zip+4, que consiste em quatro dígitos. Os valores válidos de CEP podem ser uma combinação desses formatos.

Nos valores de CEP, cada dígito tem um significado:

  • Dígito 1: seção do CEP
  • Dígitos 2-3: região dentro da seção
  • Dígitos 4-5: área ou cidade dentro da região
  • Dígitos 6-9: identificador opcional Zip+4 dentro da área ou cidade

Abaixo, veja alguns dados de exemplo:

LastNameZipCode
Able94101
Baker23502-1122
Charlie36845

Transformação:

Você está interessado nos identificadores de região e área ou cidade dentro de uma região de CEP. Você pode usar as seguintes transformações aplicadas à coluna ZipCode para extrair essas informações:

derive type:single value:SUBSTRING(ZipCode,1,3)

derive type:single value:SUBSTRING(ZipCode,3,5)

Como a string pode ter comprimento de cinco ou dez caracteres, você também precisa usar a função SUBSTRING na segunda transformação. Se os dados forem limitados aos CEPs de cinco dígitos, você poderá usar a função RIGHT.

Resultados:

LastNameZipCodesubstring_ZipCodesubstring_ZipCode2
Able941014101
Baker23502-11223502
Charlie368456845

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.