OCCURS( )-Funktion

Gibt zurück, wie oft eine Teilzeichenfolge in einem angegebenen Zeichenwert vorkommt.

Syntax

OCCURS(Zeichenfolge; Suchzeichenfolge)

Parameter

Name Typ Beschreibung
Zeichenfolge

Zeichen

Der Wert, in dem gesucht werden soll.

Sie können zwei oder mehr Felder verketten, wenn Sie mehr als ein Feld in einer Tabelle durchsuchen möchten:

OCCURS(Vorname+Nachname;"John")
Suchzeichenfolge

Zeichen

Der zu suchende Wert. Die Suche unterscheidet zwischen Groß- und Kleinschreibung.

Ausgabe

Numerisch.

Beispiele

Einfache Beispiele

Gibt „2“ zurück:

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

Gibt „3“ zurück:

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

Gibt die Häufigkeit des Auftretens eines Bindestrichs in jedem Wert des Felds Rechnungsnummer zurück:

OCCURS(Rechnungsnummer; "-")

Weiterführende Beispiele

Rechnungsnummern mit mehr als einem Bindestrich suchen

Falls Rechnungsnummern in einer Tabelle lediglich einen Bindestrich aufweisen sollen, können Sie die Funktion OCCURS( ) verwenden, um einen Filter zu erstellen, der Rechnungsnummern mit zwei oder mehr Bindestrichen isoliert:

SET FILTER TO OCCURS(Rechnungsnummer; "-") > 1

Das Auftreten des Werts eines Felds in einem anderen Feld feststellen

Verwenden Sie OCCURS( ), um Vorkommen des Werts eines Felds in einem anderen Feld festzustellen. Sie könnten beispielsweise einen Filter erstellen, der Datensätze isoliert, in denen Werte des Felds Nachname auch in dem Feld Vollständiger_Name auftreten:

SET FILTER TO OCCURS(Vollständiger_Name; ALLTRIM(Nachname)) = 1

Die Funktion ALLTRIM( ) innerhalb des Ausdrucks entfernt alle führenden und nachgestellten Leerzeichen im Feld Nachname, um sicherzustellen, dass nur Textwerte verglichen werden.

Unter Beachtung der Groß- und Kleinschreibung suchen

im Gegensatz zur Funktion FIND( ) unterscheidet die Funktion OCCURS( ) zwischen Groß- und Kleinschreibung und ermöglicht Ihnen das Durchführen entsprechender Suchen.

Der folgende Ausdruck isoliert alle Datensätze, die den groß geschriebenen Namen „UNITED EQUIPMENT“ im Feld Lieferantenname enthalten. Vorkommen von „United Equipment“ werden jedoch ignoriert.

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

Wenn Sie alle Vorkommen von „United Equipment“ unabhängig von der Groß- und Kleinschreibung finden möchten, verwenden Sie die Funktion UPPER( ), um die Werte des Suchfelds in Großbuchstaben zu konvertieren:

SET FILTER TO OCCURS(UPPER(Lieferantenname); "UNITED EQUIPMENT") > 0
Leitfaden für die Skripterstellung in ACL 14.1