Função SPLIT( )
Retorna um segmento especificado de uma cadeia.
Sintaxe
SPLIT(cadeia; separador; segmento <;qualificador_de_texto>)
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
cadeia | caractere | O valor de onde o segmento será extraído. |
separador | caractere |
Um ou mais caracteres que delimitam segmentos. Para obter mais informações, consulte Como o caractere separador funciona. |
segmento | numérico |
O segmento a extrair. Use um número para especificar o segmento a extrair. Por exemplo, para extrair o terceiro segmento, especifique 3. |
qualificador_de_texto
opcional |
caractere |
Um ou mais caracteres que indicam o início e o fim de segmentos de texto. Se o caractere separador ocorres dentro de um conjunto emparelhado de qualificadores de texto, será lido como texto e não como separador. O qualificador de texto deve ser entre aspas. Um qualificador de texto apóstrofo deve estar entre aspas e o qualificador de texto aspas deve estar entre apóstrofos. Dica Esse parâmetro opcional pode ser útil ao trabalhar com dados de origem importados que retêm separadores e qualificadores de texto. |
Saída
Caractere.
Exemplos
Exemplos básicos
Segmentos delimitados por vírgula
Retorna "seg1":
SPLIT("seg1,seg2,seg3"; ","; 1)
Retorna "seg3":
SPLIT("seg1,seg2,seg3"; ","; 3)
Retorna "" (o terceiro segmento está vazio):
SPLIT("seg1,seg2,,seg4"; ","; 3)
Delimitadores de vários caracteres e espaço
Retorna "seg3":
SPLIT("seg1/*seg2/*seg3"; "/*"; 3)
Retorna "Doe":
SPLIT("Jane Doe"; " "; 2)
Escape de delimitadores com um qualificador de texto
Retorna "Doe, Jane", que inclui uma vírgula, lida como texto em vez de separador:
SPLIT('"Doe, Jane";"Smith, John"', ";", 1, '"')
Exemplos avançados
Extrair dígitos de um número de cartão de crédito
Use o comando SPLIT( ) para remover hifens de um número de cartão de crédito.
Variáveis são utilizadas para capturar cada segmento do número de cartão de crédito e os segmentos são concatenados em uma variável adicional.
ASSIGN seg1 = SPLIT("4150-2222-3333-4444"; "-"; 1) ASSIGN seg2 = SPLIT("4150-2222-3333-4444"; "-"; 2) ASSIGN seg3 = SPLIT("4150-2222-3333-4444"; "-"; 3) ASSIGN seg4 = SPLIT("4150-2222-3333-4444"; "-"; 4) ASSIGN Numcc = seg1 + seg2 + seg3 + seg4
O valor de Numcc é "4150222233334444".
O exemplo citado é uma ilustração da função SPLIT( ) mas os traços podem ser removidos mais eficientemente usando a função EXCLUDE( ).
Observações
Como funciona?
A função SPLIT ( ) quebra os dados de caractere em segmentos baseados em separadores, como espaços e vírgulas, e retorna um segmento especificado.
Quando usar SPLIT( )
Use a função SPLIT( ) para extrair um determinado segmento de dados de um registro ou campo. O segmento deve aparecer na mesma posição em cada registro ou campo.
Como o caractere separador funciona
O caractere separador delimita ou indica os segmentos de dados em uma cadeia de origem.
Em uma cadeia com vários segmentos, a maioria deles aparece entre dois separadores. No entanto, o primeiro segmento pode não ser precedido por um caractere separador e o último segmento pode não ser seguido por um caractere separador.
Por exemplo:
SPLIT("seg1,seg2,seg3"; ","; 1)
Se a cadeia de origem começar com um separador, o segmento a seguir será tratado como o segmento 2.
Retorna "seg1":
SPLIT(",seg1,seg2,seg3"; ";", 2)
Diferenciação de maiúsculas e minúsculas
Se separador ou qualificador_de_texto especificar caracteres que têm versões maiúscula e minúscula, a caixa usada deve corresponder à caixa do separador ou qualificador de texto nos dados.
Funções relacionadas
SPLIT( ) e SUBSTR( ) retornam um segmento de dados de uma cadeia de origem maior.
- SPLIT( ) identifica o segmento de acordo com um caractere separador.
- SPLIT( ) identifica o segmento de acordo com uma posição de caractere numérica.