Función OCCURS( )

Devuelve un recuento del número de veces que aparece una subcadena en un valor de caracteres especificado.

Sintaxis

OCCURS(cadena; buscar)

Parámetros

Nombre Tipo Descripción
cadena

carácter

El valor para buscar.

Puede concatenar dos o más campos si desea buscar en más de un campo de una tabla:

OCCURS(Nombre+Apellido;"John")
buscar

carácter

El valor que se debe buscar. La búsqueda distingue entre mayúsculas y minúsculas.

Salida

Numérico.

Ejemplos

Ejemplos básicos

Devuelve 2:

OCCURS("abc/abc/a";"ab")

Devuelve 3:

OCCURS("abc/abc/a";"a")

Devuelve la cantidad de veces que aparece un guion en cada valor del campo Número_de_factura:

OCCURS(Número_de_factura; "-")

Ejemplos avanzados

Buscar números de factura con más de un guion

Si los números de factura solo deben tener un guion, utilice la función OCCURS( ) para crear un filtro que aísle los números de factura que tienen dos o más guiones:

SET FILTER TO OCCURS(Número_de_factura; "-") > 1

Buscar instancias del valor de un campo en otro campo

Utilice OCCURS( ) para encontrar instancias del valor de un campo en otro campo. Por ejemplo, podría crear un filtro que aísle registros en los que aparezcan valores de Apellido en el campo Nombre_completo:

SET FILTER TO OCCURS(Nombre_completo; ALLTRIM(Apellido)) = 1

Al incluir la función ALLTRIM( ) en la expresión, se quitan los espacios iniciales o finales del campo Apellido, lo cual permite asegurarse de comparar únicamente los valores de texto.

Realizar búsquedas con distinción entre mayúsculas y minúsculas

A diferencia de la función FIND( ), la función OCCURS( ) distingue entre mayúsculas y minúsculas, lo cual permite realizar búsquedas en las que se diferencien las mayúsculas de las minúsculas.

La siguiente expresión aísla todos los registros que contienen el nombre "UNITED EQUIPMENT", en mayúsculas, en el campo Nombre_proveedor, mientras que ignora las instancias de "United Equipment".

SET FILTER TO OCCURS(Nombre_proveedor; "UNITED EQUIPMENT") > 0

Si desea encontrar todas las instancias de "United Equipment" sin importar el uso de mayúsculas o minúsculas, utilice la función UPPER( ) para convertir los valores del campo de búsqueda en mayúsculas:

SET FILTER TO OCCURS(UPPER(Nombre_proveedor); "UNITED EQUIPMENT") > 0
Guía de creación de scripts de ACL 14.1