In diesem Abschnitt: |
Eine Zeichenformel verwendet alphanumerische Konstanten, Felder, Verkettungsoperatoren oder Funktionen, um einen alphanumerischen Wert abzuleiten.
Sowohl Textfeldern als auch alphanumerischen Feldern können Werte zugewiesen werden, die in Textfeldern und alphanumerischen Formeln in TABLE COMPUTE-, MODIFY COMPUTE- und DEFINE-Befehlen gespeichert sind. Wenn einem alphanumerischen Feld der Wert eines Textfelds zugewiesen wird, der zu lang ist für das alphanumerische Feld, wird der Wert abgeschnitten, bevor er dem alphanumerischen Feld zugewiesen wird.
Eine Zeichenformel kann bestehen aus:
COMPUTE STATE/A2 = 'NY';
DEFINE FILE EMPLOYEE TITLE/A19 = 'DR. ' | LAST_NAME; END
DEFINE FILE EMPLOYEE INITIAL/A1 = EDIT(FIRST_NAME, '9$$$$$$$$$$'); END
Hinweis: Zeichen, die nicht gedruckt werden können, werden in einer alphanumerischen Konstante nicht unterstützt.
Unter bestimmten Bedingungen können Sie mit Anführungszeichen begrenzte Zeichenfolgen verwenden, die eingebettete Anführungszeichen enthalten. Sie können innerhalb der Zeichenfolge entweder ein einfaches Anführungszeichen oder zwei zusammenhängende einfache Anführungszeichen verwenden, um das einfache Anführungszeichen darzustellen. Beide werden interpretiert als einfaches Anführungszeichen.
Sie können mit Anführungszeichen begrenzte Zeichenfolgen in den folgenden Instanzen verwenden:
Im folgenden Beispiel ist die Verwendung von Anführungszeichen für die richtige Interpretation des Datenwerts O'BRIEN zu sehen:
TABLE FILE VIDEOTRK PRINT LASTNAME WHERE LASTNAME IS 'O'BRIEN' END
Sie können eine Formel schreiben, die zwei oder mehr alphanumerische Konstanten und/oder Felder zu einer einzelnen Zeichenfolge verkettet. Dieser Verkettungsoperator hat zwei Formen, wie es in der folgenden Tabelle zu sehen ist:
Symbol |
Entspricht |
Beschreibung |
---|---|---|
| |
Schwache Verkettung |
Behält nachgestellte Leerzeichen bei. |
|| |
Starke Verkettung |
Verschiebt nachgestellte Leerzeichen an das Ende einer verketteten Zeichenfolge. |
Im folgenden Beispiel wird die Funktion EDIT verwendet, um den Anfangsbuchstaben eines Vornamens zu extrahieren. Es wird dann sowohl starke als auch schwache Verkettung verwendet, um den Nachnamen zu erzeugen, gefolgt von einem Komma, gefolgt vom Anfangsbuchstaben, gefolgt von einem Punkt:
DEFINE FILE EMPLOYEE FIRST_INIT/A1 = EDIT(FIRST_NAME, '9$$$$$$$$$'); NAME/A19 = LAST_NAME ||(', '| FIRST_INIT |'.'); END
TABLE FILE EMPLOYEE PRINT NAME WHERE LAST_NAME IS 'BANNING' END
Die Ausgabe ist:
NAME ---- BANNING, J.
Die Anfrage wertet die Formel wie folgt aus:
, J.
Banning, J.
Während LAST_NAME das Format A15 in der EMPLOYEE-Masterdatei hat, unterdrückt starke Verkettung die nachgestellten Leerzeichen. Unabhängig davon, ob Leerzeichen unterdrückt oder aufgenommen werden, hat der sich ergebende Feldname (NAME) eine Länge von 19 Zeichen (A19).
WebFOCUS |