EDIT: Estrazione o Aggiunta di Caratteri

Come:

Lingue disponibili: reporting

La funzione EDIT estrae caratteri dalla stringa di origine e aggiunge caratteri alla stringa di emissione, a seconda della maschera. Questa funzione è in grado di estrarre una stringa secondaria da diverse parti della stringa di origine. È inoltre in grado di inserire caratteri dalla stringa di origine ad una stringa di emissione. Per esempio, è in grado di estrarre i primi due caratteri e gli utilimi due caratteri di una stringa per formare una singola stringa di emissione.

EDIT lavora paragonando i caratteri in una maschera ai caratteri in una stringa d'origine. Quando si incontra un nove (9) nella maschera, EDIT copia il carattere corrispondente dal campo d'origine alla stringa di emissione. Quando si incontra un simbolo del dollaro ($) nella maschera, EDIT ignora il carattere corrispondente nella stringa d'origine. Quando si incontra qualsiasi altro carattere nella maschera, EDIT copia quel carattere alla posizione corrispondente della stringa d'origine. Questo procedimento termina quando la maschera è esaurita.

Nota:


Inizio pagina

x
Sintassi: Come estrarre o aggiungere caratteri
EDIT(source_string, 'mask');

dove:

source_string

Alfanumerico

Stringa di caratteri dalla quale scegliere i caratteri. Ciascun 9 nella maschera rappresenta una cifra; pertanto le dimensioni della source_string devono essere almeno pari al numero di 9 che appare nella maschera.

maschera

Alfanumerico

Una stringa di caratteri maschera racchiusa tra virgolette singole o un campo contenente la stringa di caratteri racchiusa tra virgolette singole. La lunghezza della maschera, escludendo qualsiasi carattere diverso da 9 e $, determina la lunghezza del campo d'emissione.



Esempio: Estrazione e Aggiunta di Caratteri

EDIT estrae la prima iniziale dal campo FIRST_NAME e memorizza il risultato in FIRST_INIT. EDIT inoltre aggiunge trattini al campo EMP_ID e memorizza il risultato in EMPIDEDIT. La maschera usata per estrarre la prima iniziale viene memorizzata nel campo virtuale 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

L'emissione è:

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