Als alphanumerischer Typ kann ein AnV-Feld in arithmetischen und logischen Formeln so verwendet werden, wie ein An-Typ verwendet wird.
Hinweis: Da AnV-Felder zwei zusätzliche Bytes haben und zusätzliche Verarbeitung nötig ist, um sie zu entfernen, wird die Verwendung des Formats AnV in nicht relationalen Datenquellen nicht empfohlen.
Wenn einer der Operanden in einer Verkettung zwischen zwei Feldern ein AnV-Feld ist, werden alphanumerische Regeln mit variabler Länge verwendet, um die Verkettung durchzuführen:
Die folgende Formel führt nur zu einem AnV-Format, wenn x das Format AnV hat.
EDIT(x,mask)
Die tatsächliche Länge des Ergebnisses ist die Zeichenanzahl in mask außer '$'.
Beachten Sie, dass die tatsächliche Länge null sein kann.
EDIT(x) kann verwendet werden, um ein AnV-Feld in einen ganzzahligen Wert umzuwandeln, wenn x das Format AnV hat.
Der einzige Unterschied bei der Auswertung des CONTAINS- and des OMITS Operators mit AnV-Feldern kommt vor, wenn einer der Operanden einen tatsächlichen Wert von null hat.
Im folgenden Beispiel hat das Feld Z eine tatsächliche Länge von null, aber X und Y haben das nicht:
Formel |
Ergebnis |
---|---|
Z CONTAINS Y |
FALSE |
X CONTAINS Z |
TRUE |
Z CONTAINS Z |
TRUE |
Z OMITS Y |
TRUE |
X OMITS Z |
FALSE |
Z OMITS Z |
FALSE |
Der einzige Unterschied bei der Auswertung der folgenden Formel kommt vor, wenn x eine tatsächliche Länge von null hat:
x LIKE mask ...
Im folgenden Beispiel hat die Feldinstanz Z eine tatsächliche Länge von null:
Z LIKE mask ...
Diese Formel wird nur als TRUE ausgewertet, wenn die Maske ausschließlich aus Prozentzeichen ('%') besteht.
Beachten Sie, dass keine andere Maske als leere Zeichenfolge ausgewertet werden kann. Selbst die Maske in der folgenden Formel hat eine Länge von eins, und daher wird die Formel als FALSE ausgewertet:
Z LIKE ''
Wie auch bei Feldern des Typs An werden Operationen ausgewertet unter der Annahme, dass der kürzere Operand mit Leerzeichen aufgefüllt wird.
Es wird daher selbst ein leeres AnV-Feld Z verglichen, als ein Feld, das aus Leerzeichen besteht.
In den folgenden Beispielen ist Z eine leere AnV-Feldinstanz und X ist eine AnV-Feldinstanz, die nicht leer ist und Zeichen enthält, die keine Leerzeichen sind:
Formel |
Ergebnis |
---|---|
Z EQ Z Z GE Z Z LE Z |
TRUE |
Z NE Z Z LT Z Z GT Z |
FALSE |
Z EQ X |
FALSE |
Z NE X |
TRUE |
Z LT X |
TRUE |
Z GT X |
FALSE |
Z LE X |
TRUE |
Z GE X |
FALSE |
X EQ Z |
FALSE |
X NE Z |
TRUE |
X LT Z |
FALSE |
X GT Z |
TRUE |
X LE Z |
FALSE |
X GE Z |
TRUE |
DECODE alphafield (value 'result'...
Wenn Sie entweder ein An- oder ein AnV-Feld mit DECODE verwenden, ist das Ergebnis vom Typ An, solange der Ergebnisteil der Wertergebnispaare als eine Konstante bereitgestellt wird. (Konstanten sind Typ An.)
Es gibt drei Situationen, die Sie berücksichtigen sollten, wenn Sie den Zuweisungsoperator mit dem Format AnV verwenden: AnV-Datentyp nur auf der rechten Seite, AnV-Datentyp auf beiden Seiten, und AnV-Datentyp nur auf der linken Seite.
fld/An = AnV_type_expression;
fld/AnV = AnV_type_expression;
fld/AnV = An_type_expression;
WebFOCUS |