Sumário

Search

  1. Prefácio
  2. A Linguagem de Transformação
  3. Constantes
  4. Operadores
  5. Variáveis
  6. Datas
  7. Funções
  8. Criação de funções personalizadas
  9. Referência de API da Função Personalizada

Referência de Linguagem de Transformação

Referência de Linguagem de Transformação

SUBSTR

SUBSTR

Retorna uma parte de uma string. A função SUBSTR conta todos os caracteres, inclusive espaços em branco, iniciando pelo começo da string.

Sintaxe

SUBSTR(
string
,
start
[,
length
] )
A tabela a seguir descreve os argumentos para este comando:
Argumento
Requerido/
Opcional
Descrição
string
Requerido
Deve ser uma string de caractere. Passa os valores que você deseja pesquisar. Você pode inserir qualquer expressão de transformação válida. Se você passar um valor numérico, a função o converterá em uma string de caractere.
início
Requerido
Deve ser um inteiro. A posição na string onde você deseja começar a contagem. Você pode inserir qualquer expressão de transformação válida. Se a posição inicial for um número positivo, SUBSTR localizará a posição inicial contando a partir do começo da strings. Se a posição inicial for um número negativo, SUBSTR localizará a posição inicial contando a partir do final da string. Se a posição inicial for 0, SUBSTR pesquisará a partir do primeiro caractere da string.
length
Opcional
Deve ser um inteiro maior que 0. O número de caracteres que você deseja que SUBSTR retorne. Você pode inserir qualquer expressão de transformação válida. Se você omitir o argumento length, SUBSTR retornará todos os caracteres da posição inicial ao fim da strings. Se você transmitir um inteiro negativo ou 0, a função retornará uma string vazia. Se você passar um decimal, a função o arredondará para o valor inteiro mais próximo.

Valor de Retorno

String.
String vazia se você passar um valor de comprimento negativo ou 0.
NULL se um valor transmitido para a função for NULL.

Exemplos

As seguintes expressões retornam o código de área de cada linha na porta Telefone:
SUBSTR( PHONE, 0, 3 )
PHONE
RETURN VALUE
809-555-0269
809
357-687-6708
357
NULL
NULL
SUBSTR( PHONE, 1, 3 )
PHONE
RETURN VALUE
809-555-3915
809
357-687-6708
357
NULL
NULL
As seguintes expressões retornam o número de telefone sem o código de área de cada linha na porta Telefone:
SUBSTR( PHONE, 5, 8 )
PHONE
RETURN VALUE
808-555-0269
555-0269
809-555-3915
555-3915
357-687-6708
687-6708
NULL
NULL
Você também pode passar um valor inicial negativo para retornar o número de telefone de cada linha na porta Telefone. A expressão ainda lê a string de origem da esquerda para a direita ao retornar o resultado do argumento
comprimento
:
SUBSTR( PHONE, -8, 3 )
PHONE
RETURN VALUE
808-555-0269
555
809-555-3915
555
357-687-6708
687
NULL
NULL
Você pode aninhar INSTR no argumento
início
ou
comprimento
para pesquisar uma string específica e retornar sua posição.
A expressão a seguir avalia uma string, começando a partir do final da string. A expressão encontra o último espaço (extrema direita) na string e, em seguida, retorna todos os caracteres precedentes:
SUBSTR( CUST_NAME,1,INSTR( CUST_NAME,' ' ,-1,1 ) - 1 )
CUST_NAME
RETURN VALUE
PATRICIA JONES
PATRICIA
MARY ELLEN SHAH
MARY ELLEN
A seguinte expressão remove o caractere '#' de uma string:
SUBSTR( CUST_ID, 1, INSTR(CUST_ID, '#')-1 ) || SUBSTR( CUST_ID, INSTR(CUST_ID, '#')+1 )
Quando o argumento
length
for maior que a string, SUBSTR retornará todos os caracteres da posição inicial até o fim da string. Considere o seguinte exemplo:
SUBSTR('abcd', 2, 8)
O valor retornado é ‘bcd’. Compare esse resultado ao seguinte exemplo:
SUBSTR('abcd', -2, 8)
O valor retornado é ‘cd’.