Função OCCURS( )
Retorna a contagem de quantas vezes um trecho de cadeia ocorre em um valor de caracteres especificado.
Sintaxe
OCCURS(cadeia; pesquisar_por)
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
cadeia |
caractere |
O valor que deve ser pesquisado. É possível concatenar dois ou mais campos se quiser pesquisar em mais de um campo de uma tabela: OCCURS(Nome+Sobrenome;"John") |
pesquisar_por |
caractere |
O valor pelo qual pesquisar. A pesquisa diferencia maiúsculas de minúsculas. |
Saída
Numérico.
Exemplos
Exemplos básicos
Retorna 2:
OCCURS("abc/abc/a";"ab")
Retorna 3:
OCCURS("abc/abc/a";"a")
Retorna o número de ocorrências de um hífen em cada valor no campo Número_Fatura:
OCCURS(Numero_Fatura; "-")
Exemplos avançados
Como encontrar números de fatura com mais de um hífen
Se os números de fatura em uma tabela tiverem de ter apenas um hífen, use a função OCCURS( ) para criar um filtro que separe números de fatura com dois ou mais hifens:
SET FILTER TO OCCURS(Número_Fatura; "-") > 1
Como encontrar ocorrências do valor de um campo em outro campo
Use OCCURS( ) para encontrar ocorrências do valor de um campo em outro campo. Por exemplo, poderia ser criado um filtro que separa os registros nos quais os valores de Sobrenome ocorrem no campo Nome_Completo:
SET FILTER TO OCCURS(Nome_Completo; ALLTRIM(Sobrenome)) = 1
A inclusão da função ALLTRIM( ) na expressão remove os espaços à esquerda ou à direita do campo Sobrenome, garantindo que somente valores de texto sejam comparados.
Como pesquisar diferenciando maiúsculas de minúsculas
Ao contrário da função FIND( ), a função OCCURS( ) diferencia maiúsculas de minúsculas, o que permite executar pesquisas que diferenciam maiúsculas de minúsculas.
A expressão a seguir separa todos os registros que contêm o nome "EQUIPAMENTOS UNITED", em maiúsculas, no campo Nome_Fornecedor e ignora as ocorrências de "Equipamentos United".
SET FILTER TO OCCURS(Nome_Fornecedor; "UNITED EQUIPMENT") > 0
Se quiser encontrar todas as ocorrências de "Equipamentos United", independentemente das maiúsculas/minúsculas, use a função UPPER( ) para converter os valores do campo de pesquisa em letras maiúsculas:
SET FILTER TO OCCURS(UPPER(Nome_Fornecedor); "UNITED EQUIPMENT") > 0