SUBSTRING: Como Extrair uma Substring de uma String Fonte

Como:

A função SUBSTRING extrai uma substring de uma string fonte. A posição final que você especifica para a substring for posterior ao fim da string fonte, a posição do último caractere da string fonte se tornará a posição final da substring.


Topo da página

x
Sintaxe: Como Extrair uma Substring de uma String Fonte
SUBSTRING(string, position, length)

onde:

string

Alfanumérico

É a string da qual extrair a substring. Pode ser umcampo, um literal entre aspas simples (') ou uma variável.

position

Inteiro

É a posição inicial da substring na string. Se a posição for 0, será tratado como 1. Se a posição for negativa, a posição inicial será contada em ordem reversa, a partir do fim de string.

comprimento

Inteiro

É o limite do comprimento da substring. A posição final da substring é calculada da seguinte forma: posição + comprimento - 1. Se a posição calculada estiver além do final da string fonte, a posição do último caractere de _string se tornará a posição final.

O tipo de dados da substring exibida é AnV.



Exemplo: Como Extrair uma Substring de uma String Fonte

Na solicitação a seguir, POSITION determina a posição da primeira letra I em LAST_NAME e armazena o resultado em I_IN_NAME: Em seguida, SUBSTRING extrai os três caracteres que começam com a letra I de LAST_NAME e armazena os resultados em I_SUBSTR.

TABLE FILE EMPLOYEE
PRINT
COMPUTE
I_IN_NAME/I2 = POSITION('I', LAST_NAME); AND
COMPUTE
I_SUBSTR/A3 =
SUBSTRING(LAST_NAME, I_IN_NAME, I_IN_NAME+2);
BY LAST_NAME
ON TABLE SET PAGE NOPAGE
END

A saída é:

  LAST_NAME        I_IN_NAME  I_SUBSTR                  
  ---------        ---------  --------                             
  BANNING                  5  ING     
  BLACKWOOD                0  BL      
  CROSS                    0  CR      
  GREENSPAN                0  GR      
  IRVING                   1  IRV     
  JONES                    0  JO      
  MCCOY                    0  MC      
  MCKNIGHT                 5  IGH     
  ROMANS                   0  RO      
  SMITH                    3  ITH     
                           3  ITH     
  STEVENS                  0  ST    

Information Builders