OVRLAY: Como Sobrepor uma String de Caracteres

Como:

Linguagens Disponíveis: Reporting

A função OVRLAY sobrepõe uma string de caracteres base com uma substring. A função permite que você edite parte de um campo alfanumérico sem substituir o campo inteiro.


Topo da página

x
Sintaxe: Como Sobrepor uma string de caracteres
OVRLAY(source_string, length, substring, sublen, position, output)

onde:

source_string

Alfanumérico

É a string de caracteres de base.

stringlen

Inteiro

É o número de caracteres da source_string e output ou um campo que contém o comprimento. Se este argumento for inferior ou igual a 0, ocorrerão resultados imprevisíveis".

substring

Alfanumérico

É a substring que vai se sobrepor a source_string.

sublen

Inteiro

É o comprimento da substring ou um campo que contém o comprimento . Se este argumento for inferior ou igual a 0, a função retornará espaços.

position

Inteiro

É a posição na source_string na qual a sobreposição começa. Se este argumento for inferior ou igual a 0, a função retornará espaços. Se este argumento for maior do que stringlen, a função retornará a string fonte.

saída

Alfanumérico

É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. Se a string sobreposta for maior do que o campo do resultado, a string será truncada para caber no campo.

Leve em consideração que se a string sobreposta for maior do que o campo do resultado, a string será truncada para caber no campo.



Exemplo: Como Substituir Caracteres em uma String de Caracteres

A função OVRLAY substitui os três últimos caracteres de EMP_ID com CURR_JOBCODE para criar um novo código de identificação de segurança e armazena o resultado em NEW_ID:

TABLE FILE EMPLOYEE
PRINT EMP_ID AND CURR_JOBCODE AND COMPUTE
NEW_ID/A9 = OVRLAY(EMP_ID, 9, CURR_JOBCODE, 3, 7, NEW_ID);
BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'MIS';
END

A saída é:

LAST_NAME        FIRST_NAME  EMP_ID     CURR_JOBCODE  NEW_ID
---------        ----------  ------     ------------  ------
BLACKWOOD        ROSEMARIE   326179357  B04           326179B04
CROSS            BARBARA     818692173  A17           818692A17
GREENSPAN        MARY        543729165  A07           543729A07
JONES            DIANE       117593129  B03           117593B03
MCCOY            JOHN        219984371  B02           219984B02
SMITH            MARY        112847612  B14           112847B14

Information Builders