AT( )-Funktion
Gibt eine Zahl zurück, die angibt, wo eine Teilzeichenfolge innerhalb eines Zeichenwerts beginnt.
Syntax
AT(Zahl_des_Auftretens; Suchzeichenfolge; Volltext)
Parameter
Name | Typ | Beschreibung |
---|---|---|
Zahl_des_Auftretens |
numerisch |
Das Auftreten (Instanz) von Suchzeichenfolge, dessen Ort zurückgegeben werden soll. Geben Sie beispielsweise 1 ein, um den Beginn des ersten Vorkommens von Suchzeichenfolge zu erhalten. |
Suchzeichenfolge |
Zeichen |
Die zu suchende Teilzeichenfolge in Volltext. Beim Wert wird die Groß- und Kleinschreibung beachtet. Wenn Suchzeichenfolge doppelte Anführungszeichen enthält, müssen Sie den Wert mit einfachen Anführungszeichen umschließen: AT(1;'"Test"'; Beschreibung) |
Volltext | Zeichen |
Der Wert, in dem gesucht werden soll. Sie können zwei oder mehr Felder im Parameter Volltext verketten, wenn Sie mehr als ein Feld in einer Tabelle durchsuchen möchten: AT(1;'"Test"'; Beschreibung+Übersicht) |
Ausgabe
Numerisch. Gibt den Beginn des angegebenen Vorkommens des Werts Zeichenfolge (als Byte-Position) zurück. Wenn keine Übereinstimmungen gefunden werden, wird 0 zurückgegeben.
Beispiele
Einfache Beispiele
Gefundene Vorkommen
Gibt „4“ zurück:
AT(1; "-"; "604-669-4225")
Gibt „8“ zurück:
AT(2; "-"; "604-669-4225")
Keine Vorkommen gefunden
Gibt „0“ zurück, weil sich kein dritter Bindestrich im Wert befindet.
AT(3; "-"; "604-669-4225")
Gibt „0“ zurück, weil sich kein viertes kleingeschriebenes „a“ im Wert befindet.
AT(4; "a"; "Alabama")
Zeichengruppen
Gibt „5“ zurück:
AT(2; "iss"; "Mississippi")
Ein Feld durchsuchen
Gibt die Byte-Position des ersten Bindestrichs in jedem Wert des Felds Rechnungsnummer zurück:
AT(1; "-"; Rechnungsnummer)
Weiterführende Beispiele
Suchen von Rechnungsnummern, in denen der zweite Bindestrich nach dem zehnten Byte auftritt
Sie können die Konsistenz von Rechnungsnummern in einer Tabelle mit der AT( )-Funktion analysieren und einen Filter erstellen, der dem folgenden Beispiel ähnelt. Dieser Filter isoliert alle Datensätze, in denen die Rechnungsnummer zwei oder mehrere Bindestriche enthält und der zweite Bindestrich nach dem zehnten Byte auftritt:
SET FILTER TO AT(2; "-"; Rechnungsnummer) > 10
Bemerkungen
Wann sollte AT( ) verwendet werden?
Verwenden Sie diese Funktion, um die Startpositionen innerhalb eines Zeichenwerts abzurufen:
- die Startposition einer Teilzeichenfolge
- die Startposition des späteren Auftretens einer Teilzeichenfolge
Wenn Sie nur bestätigen möchten, dass dieselbe Teilzeichenfolge mehrmals in einem Feld vorkommt, ist die Funktion OCCURS( ) eine bessere Alternative. Weitere Informationen finden Sie unter OCCURS( )-Funktion.
Rückgabewert, falls Zahl_des_Auftretens die Anzahl von Vorkommen überschreitet
Wenn Zahl_des_Auftretens größer als die tatsächliche Anzahl der Teilzeichenfolgen innerhalb von Volltext ist, gibt die Funktion „0“ zurück, weil sie ein Auftreten der Teilzeichenfolge in einer solchen Häufigkeit nicht finden kann.
Verkettete Felder und Rückgabewerte
Wenn Sie mehr als ein Feld durchsuchen, ist der zurückgegebene Wert der Instanz der Start von Suchzeichenfolge über alle von Ihnen festgelegte Felder hinweg. Die verketteten Felder werden wie ein einzelnes Feld behandelt, das führende und nachgestellte Leerzeichen der einzelnen Felder enthält, solange Sie nicht die Funktion ALLTRIM( ) zur Entfernung von Leerzeichen verwenden.
Wenn Sie beispielsweise nach dem ersten Auftreten einer Zeichenfolge in zwei Feldern mit einer Breite von jeweils acht Zeichen suchen und die Zeichenfolge am Beginn des zweiten Felds gefunden wird, ist der Rückgabewert „9“.