- Categorias:
STRTOK¶
Tokeniza uma determinada cadeia de caracteres e retorna a parte solicitada.
- Consulte também:
Sintaxe¶
Argumentos¶
Obrigatório:
stringTexto a ser tokenizado.
Opcional:
delimiterTexto que representa o conjunto de delimitadores a serem utilizados. Cada caractere na cadeia de caracteres do delimitador é um delimitador separado. Por exemplo, se o delimitador for
'@.', ambos'@'e'.'serão tratados como delimitadores. Esse comportamento é diferente no SPLIT_PART, que trata o delimitador inteiro como uma única cadeia de caracteres do delimitador.Se o delimitador estiver vazio, e o
stringestiver vazio, então a função retorna NULL. Se o delimitador estiver vazio estringnão estiver vazio, a cadeia de caracteres inteira será tratada como um token.Padrão: sem valor. Um único caractere de espaço
partNumberToken solicitado, que é baseado em 1; portanto, o primeiro token é o token número 1, e não o token número 0. Se o número do token estiver fora da faixa, então NULL é retornado.
Padrão: 1
Retornos¶
O tipo de dados do valor retornado é VARCHAR.
Se a parte solicitada não existir ou nenhum argumento for NULL, NULL será retornado.
Notas de uso¶
Assim como o Linux strtok(), STRTOK nunca retorna uma cadeia de caracteres vazia como um símbolo. Esse comportamento é diferente no SPLIT_PART, que pode retornar cadeias de caracteres vazias como partes quando a cadeia de caracteres de entrada começa ou termina com o delimitador, ou quando há delimitadores consecutivos.
Exemplos¶
Os exemplos a seguir chamam a função STRTOK:
Retornar o primeiro token em uma cadeia de caracteres¶
O exemplo simples a seguir chama STRTOK para retornar o primeiro token em uma cadeia de caracteres:
Usar vários delimitadores para retornar tokens diferentes¶
Este exemplo mostra como usar vários delimitadores para retornar o primeiro, segundo e terceiro tokens quando os delimitadores são @ e .:
Demonstrar a indexação além do último token possível na cadeia de caracteres¶
O exemplo a seguir demonstra o que acontece quando você indexa além do último token possível na cadeia de caracteres:
Demonstrar como o primeiro elemento pode ultrapassar o final da cadeia de caracteres¶
Neste exemplo, a cadeia de caracteres de entrada está vazia e não há elementos. Sendo assim, o primeiro elemento ultrapassa o final da cadeia de caracteres, e a função retorna NULL em vez de uma cadeia de caracteres vazia:
Chamar STRTOK com um delimitador vazio¶
Aqui está um exemplo com uma cadeia de caracteres delimitadora vazia:
Demonstrar valores NULL para argumentos¶
Os exemplos a seguir especificam valores NULL para cada um dos argumentos:
Demonstrar as diferenças entre STRTOK e SPLIT_PART¶
Este exemplo demonstra a diferença entre STRTOK eSPLIT_PART ao usar delimitadores repetidos. O STRTOK trata cada caractere na cadeia de caracteres do delimitador '|-' como um delimitador separado, dividindo a cada caractere '|' e '-'. Ao contrário, o SPLIT_PART trata a cadeia de caracteres inteira do delimitador '|-' como um único delimitador, portanto, ele só divide onde esta sequência exata aparece: