Come: |
Lingue disponibili: reporting
La funzione POSITV trova la posizione iniziale di una sottostringa in una stringa più grande. Per esempio, la posizione iniziale della sottostringa DUCT nella stringa PRODUCTION è 4. Se la sottostringa non si trova nella stringa principale, la funzione restituisce il valore di 0. Questa caratteristica è simile a POSIT; tuttavia, le lunghezze dei suoi parametri AnV si basano sulle lunghezze effettive di quei parametri a confronto con altri due parametri che specificano la loro dimensione.
POSITV(source_string, upper_limit, substring, sub_limit, output)
dove:
Alfanumerico di tipo An o AnV
Stringa d'origine che contiene la sottostringa la cui posizione si desidera trovare. Potrebbe essere la stringa di caratteri racchiusa tra virgolette singole ('), oppure un campo o variabile che contiene la stringa d'origine. Se si tratta di un campo di formato AnV, la sua lunghezza viene presa dalla lunghezza dei byte memorizzata nel campo. Se upper_limit è inferiore alla lunghezza, la stringa d'origine è troncata a questo limite superiore.
Valore intero
Limite per la lunghezza della stringa d'origine.
Alfanumerico di tipo An o AnV
Sottostringa la cui lunghezza deve essere determinata.Si potrebbe trattare della sottostringa racchiusa tra virgolette singole ('), oppure di un campo che contiene la stringa di caratteri. Se si tratta di un campo, è possibile avere il formato An O AnV.Se si tratta di un campo di tipo AnV, la sua lunghezza viene presa dalla lunghezza byte memorizzata nel campo. Se sub _limit è inferiore alla lunghezza effettiva, la stringa d'origine è troncata a questo limite.
Valore intero
Limite per la lunghezza della sottostringa.
Valore intero
Nome del campo che contiene il risultato o il formato del valore di emissione racchiuso tra virgolette singole (').
POSITV trova la posizione iniziale di un articolo determinativo o indeterminativo finale in un titolo di un film (come ", THE" in SMURFS, THE). Prima TRIMV rimuove gli spazi finali dal titolo, cosicché l'articolo sarà il modello finale:
DEFINE FILE MOVIES
TITLEV/A39V = TRIMV('T',TITLE, 39,' ', 1, TITLEV);
PSTART/I4 = POSITV(TITLEV,LENV(TITLEV,'I4'), ',', 1,'I4');
PLEN/I4 = IF PSTART NE 0 THEN LENV(TITLEV,'I4') - PSTART +1
ELSE 0;
END
TABLE FILE MOVIES
PRINT TITLE
PSTART AS 'Pattern,Start' IN 25
PLEN AS 'Pattern,Length'
BY CATEGORY NOPRINT
WHERE PLEN NE 0
END
L'emissione è:
Pattern Pattern TITLE Start Length ----- ------- ------- SMURFS, THE 7 5 SHAGGY DOG, THE 11 5 MALTESE FALCON, THE 15 5 PHILADELPHIA STORY, THE 19 5 TIN DRUM, THE 9 5 FAMILY, THE 7 5 CHORUS LINE, A 12 3 MORNING AFTER, THE 14 5 BIRDS, THE 6 5 BOY AND HIS DOG, A 16 3
WebFOCUS |