EDIT: Cómo extraer o añadir caracteres

Cómo:

Lenguajes disponibles: informes

La función EDIT extrae los caracteres de la cadena de origen y los añade a la cadena de salida de acorde a la máscara. Puede extraer una subcadena de distintas partes de la cadena de origen. Además, puede insertar caracteres de la cadena de origen en una cadena de salida. Por ejemplo, puede extraer los dos primeros y los dos últimos caracteres de una cadena para formar una sola cadena de salida.

EDIT compara los caracteres de una máscara con los de una cadena de origen. Cuando se encuentra un nueve (9) en la máscara, EDIT copia el carácter correspondiente del campo de origen en la cadena de salida. Cuando se encuentra con un signo de dólar ($) en la máscara, EDIT ignora el carácter correspondiente en la cadena de origen. Cuando se encuentra con cualquier otro carácter de la máscara, EDIT lo copia en la posición correspondiente de la cadena salida. El proceso finaliza cuando la máscara se ha agotado.

Nota:


Principio de página

x
Sintaxis: Cómo Extraer o añadir caracteres
EDIT(source_string, 'mask');

donde:

source_string

Alfanumérico

Es una cadena de caracteres para seleccionar caracteres. Cada 9 en la máscara representa un dígito, así que el tamaño de source_string debe ser, como mínimo, igual al número de nueves en la máscara.

mask

Alfanumérico

Es una cadena de caracteres entre comillas simples o un campo que contenga la cadena entre comillas simples. La longitud de la máscara, sin contar cualquier carácter que no sea 9 o $, determina la longitud del campo de salida.



Ejemplo: Cómo extraer y añadir caracteres

EDIT extrae la primera inicial del campo FIRST_NAME y guarda el resultado en FIRST_INIT. EDIT también añade guiones al campo EMP_ID y guarda el resultado en EMPIDEDIT. La máscara utilizada para extraer la primera inicial se almacena en el campo virtual llamado 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

La salida es:

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

WebFOCUS