EDIT: Como Extrair ou Adicionar Caracteres

Como:

Linguagens Disponíveis: Reporting

A função EDIT extrai os caracteres da string de origem e adicionar caracteres à string de saída de acordo com a máscara. Esta função pode extrair uma substring de partes diferentes da string de origem. Também pode inserir caracteres da string de origem em uma string de saída. Por exemplo, é possível extrair os dois primeiros e os dois últimos caracteres de uma string para formar uma string de saída.

A função EDIT compara os caracteres da máscara aos da string fonte. Ao encontrar um nove (9) na máscara, esta função copia o caractere correspondente do campo fonte para a string de saída. Ao encontrar um cifrão na máscara ($), a função EDIT ignora o caractere correspondente na string fonte. Ao encontrar qualquer outro caractere na máscara, o EDIT o copia para a posição correspondente na string fonte. Este processo é concluído quando a máscara termina.

Comunicado:


Topo da página

x
Sintaxe: Como Extrair ou adicionar caracteres
EDIT(source_string, 'mask');

onde:

source_string

Alfanumérico

É uma string de caracteres para escolher caracteres. Cada 9 na máscara representa um dígito, por isso o tamanho de source_string deve ter pelo menos o mesmo do número de 9 exibidos na máscara.

máscara

Alfanumérico

É a string de caracteres da máscara entre aspas simples ou um campo que contém a string de caracteres entre aspas simples. O comprimento da máscara, excluindo qualquer caractere que não seja nove (9) ou um cifrão ($), determina o comprimento do campo de saída.



Exemplo: Como Extrair e Adicionar Caracteres

A função EDIT extrai a primeira inicial do campo FIRST_NAME e armazena o resultado em FIRST_INIT. Esta função também adiciona traços ao campo EMP_ID e armazena o resultado em EMPIDEDIT. A máscara utilizada para extrair a primeira inicial é armazenada no campo virtual chamado de MASK1:

DEFINE FILE EMPLOYEE
MASK1/A10 = '9$$$$$$$$$'
END
TABLE FILE EMPLOYEE
PRINT LAST_NAME AND COMPUTE
FIRST_INIT/A1 = EDIT(FIRST_NAME, MASK1);
EMPIDEDIT/A11 = EDIT(EMP_ID, '999-99-9999');
WHERE DEPARTMENT EQ 'MIS';
END

A saída é:

LAST_NAME        FIRST_INIT  EMPIDEDIT
---------        ----------  ---------
SMITH            M           112-84-7612
JONES            D           117-59-3129
MCCOY            J           219-98-4371
BLACKWOOD        R           326-17-9357
GREENSPAN        M           543-72-9165
CROSS            B           818-69-2173

Information Builders