Come: |
Lingue disponibili: reporting, Maintain
La funzione CHKFMT controlla una stringa di caratteri per caratteri scorretti o per tipi di caratteri. Questa funzione paragona ciascuna stringa di caratteri con una seconda stringa, chiamata maschera, paragonando ciascun carattere della prima stringa con il carattere corrispondente nella maschera. Se tutti i caratteri nella stringa di caratteri corrispondono ai caratteri o ai tipi di caratteri nella maschera, CHKFMT restituisce il valore di 0. Altrimenti, CHKFMT restituisce un valore uguale alle posizione del primo carattere nella stringa di caratteri che non corrisponde alla maschera.
Se la maschera è più corta della stringa di caratteri, la funzione controlla solo la porzione della striga di caratteri corrispondente alla maschera. Per esempio, se si sta utilizzando una maschera a quattro caratteri per verificare una stringa a nove caratteri, si controllano solo i primi quattro caratteri nella stringa; il resto si restituisce come valore non corrispondente con CHKFMT, fornendo un risultato di prima posizione non corrispondente.
CHKFMT(numchar, source_string, 'mask', output)
dove:
Valore intero
Numero di caratteri paragonato alla maschera.
Alfanumerico
Stringa di caratteri da controllare, racchiusa tra virgolette singole, oppure campo o variabile che contiene la stringa di caratteri.
Alfanumerico
Maschera che contiene i caratteri di paragone racchiusi tra virgolette singole.
Alcuni caratteri nella maschera sono generici e rappresentano tipi di carattere. Se un carattere nella stringa è paragonato a uno di questi caratteri ed è lo stesso tipo, corrisponde". I caratteri generici sono:
A è qualsiasi lettera tra A e Z (caratteri maiuscoli o minuscoli).
9 è qualsiasi cifra tra 0-9.
X è qualsiasi lettera tra A-Z o qualsiasi cifra tra 0-9.
$ è qualsiasi carattere.
Qualsiasi altro carattere nella maschera rappresenta solo quel carattere. Per esempio, se il terzo carattere nella maschera è B, il terzo carattere nella stringa deve essere B per poter corrispondere.
Valore intero
Nome del campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole”.
CHKFMT esamina EMP_ID i nove caratteri numerici, cominciando con 11 e memorizzando il risultato in CHK_ID:
TABLE FILE EMPLOYEE
PRINT EMP_ID AND LAST_NAME AND
COMPUTE CHK_ID/I3 = CHKFMT(9, EMP_ID, '119999999', CHK_ID);
WHERE DEPARTMENT EQ 'PRODUCTION';
END
L'emissione è:
EMP_ID LAST_NAME CHK_ID ------ --------- ------ 071382660 STEVENS 1 119265415 SMITH 0 119329144 BANNING 0 123764317 IRVING 2 126724188 ROMANS 2 451123478 MCKNIGHT 1
WebFOCUS |