Como: |
Linguagens Disponíveis: Reporting
A função POSITV localiza a posição inicial de uma substring dentro de uma string maior. Por exemplo, a posição inicial da sustring DUCT na string PRODUCTION é quatro. Se a substring não estiver na string pai, a função exibirá o valor 0. Este é similar ao POSIT; no entanto, os comprimentos de seus parâmetros AnV são baseados nos comprimentos reais destes parâmetros em comparação com dois outros que especificam seus tamanhos.
POSITV(source_string, upper_limit, substring, sub_limit, output)
onde:
Alfanumérico do tipo An ou AnV
É a string fonte que contém a substring cuja posição você deseja localizar.pode ser a string colocada entre aspas simples (') ou um campo ou variável contendo a string.Se for um campo com o formato AnV, seu comprimento é tirado do comprimento em bytes armazenado no campo. Se o upper_limit for menor do que o comprimento, a source_string será truncada conforme este limite superior.
Inteiro
É um limite do comprimento da string fonte.
Alfanumérico do tipo An ou AnV
É a substring cuja posição você deseja localizar.Esta pode ser a substring entre aspas simples (') ou o campo que contém a string. Se for um campo, pode possuir o formato An ou AnV.Se for um campo do tipo AnV, seu comprimento é tirado do comprimento em bytes armazenado no campo. Se o sub_limit for menor do que o comprimento, a source_string será truncada conforme este limite.
Inteiro
É o limite do comprimento da substring.
Inteiro
É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples (').
POSITV localiza a posição inicial de um artigo definido ou indefinido à direita no título de um filme (por exemplo ", THE" em SMURFS, THE). Primeiramente, TRIMV remove os espaços em branco à direita do título para que o artigo seja o padrão à direita:
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
A saída é:
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
Information Builders |