ZONED( )-Funktion
Konvertiert numerische Daten in Zeichendaten und fügt der Ausgabe vorangestellte Nullen hinzu.
Syntax
ZONED(Zahl; Länge)
Parameter
Name | Typ | Beschreibung |
---|---|---|
Nummer |
numerisch |
Der in eine Zeichenfolge zu konvertierende numerische Wert. Hinweis Falls Sie einem Zeichenwert mit einer numerischen Zeichenfolge führende Nullen hinzufügen möchten, müssen Sie mit der VALUE()-Funktion Zeichendaten in den numerischen Datentyp umwandeln, bevor Sie den Wert als Eingabe für ZONED() verwenden können. Weitere Informationen finden Sie unter VALUE( )-Funktion. |
Länge | numerisch |
Die Länge der Ausgabezeichenfolge. |
Ausgabe
Zeichen.
Beispiele
Einfache Beispiele
Ganzzahleingabe
Gibt „235“ zurück:
ZONED(235; 3)
Gibt „00235“ zurück. Zwei vorangestellte Nullen wurden dem Ergebnis hinzugefügt, da Länge größer ist als die Anzahl der Ziffern in Zahl:
ZONED(235; 5)
Gibt „35“ zurück. Die Ziffer ganz links wurde vom Ergebnis abgeschnitten, da Länge kleiner ist als die Anzahl der Ziffern in Zahl:
ZONED(235; 2)
Dezimale Eingabe
Gibt „23585“ zurück, weil das ZONED-Datenformat keinen Dezimalpunkt unterstützt.
ZONED(235,85; 5)
Negative Eingabe
Gibt „64489M“ zurück, weil die Zahl negativ ist und „M“ für die letzte Ziffer „4“ steht:
ZONED(-6448,94; 6)
Gibt „489J“ zurück. Die beiden Ziffer ganz links wurden vom Ergebnis abgeschnitten, da Länge kleiner ist als die Anzahl der Ziffern in Zahl. Die Zahl ist negativ und „J“ steht für die letzte Ziffer „1“:
ZONED(-6448,91; 4)
Weiterführende Beispiele
Zeichenfeld mit Zahlen führende Nullen hinzufügen
Das Feld Mitarbeiternummer enthält den Wert "254879". Sie müssen den Wert in eine Zeichenfolge mit zehn Stellen und führenden Nullen konvertieren.
Tipp
Sie müssen mit der VALUE()-Funktion Zeichendaten in numerische Daten umwandeln, bevor Sie die numerischen Daten als Eingabe für ZONED() verwenden können.
COMMENT gibt "0000254879" zurück ASSIGN v_Zeichenfolgenlänge = 10 ASSIGN v_Anz_Dezimalen = 0 ZONED(VALUE(Mitarbeiternummer; v_Anz_Dezimalen); v_Zeichenfolgenlänge)
Ein Schlüsselfeld beim Zusammenführen von Tabellen harmonisieren
Ihnen liegen die beiden Tabellen Forderungen und Kunde vor. Sie müssen sie für das Feld KdnNr zur weiteren Analyse zusammenführen. Die beiden Tabellen verfügen jeweils über ein Feld KdnNr, dessen Datenformat sich jedoch unterscheidet:
- Forderungen numerisches Feld (zum Beispiel 235)
- Kunde Feld aus fünf Zeichen, in dem Nummern durch führende Nullen aufgefüllt werden (zum Beispiel „00235“)
Um die Felder zu harmonisieren, damit die Daten und die Längen identisch sind, verwenden Sie die Funktion ZONED( ). Dadurch konvertieren Sie das Schlüsselfeld KdnNr in Forderungen in ein Zeichenfeld der Länge 5, damit es dem Format des Schlüsselfelds von Kunde entspricht:
OPEN Forderungen PRIMARY OPEN Kunde SECONDARY JOIN PKEY ZONED(KdnNr;5) FIELDS KdnNr Fällig Betrag SKEY KdnNr UNMATCHED TO Forderungen_Kunde OPEN PRESORT SECSORT
Bemerkungen
Funktionsweise
Diese Funktion konvertiert numerische Daten in Zeichendaten und fügt der Ausgabe vorangestellte Nullen hinzu. Üblicherweise wird diese Funktion zum Harmonisieren von Feldern verwendet, die vorangestellte Nullen erfordern, z.B. Schecknummern, Bestell- oder Rechnungsnummern.
Wann Sie ZONED( ) verwenden sollen
Verwenden Sie die Funktion, um positive numerische Werte in Zeichenwerte mit führenden Nullen zu konvertieren. Das ist hilfreich bei der Normalisierung von Daten in Feldern, die als Schlüsselfelder verwendet werden sollen.
Wenn zum Beispiel eine Tabelle Rechnungsnummern im Format „100“ in einem numerischen Feld und eine andere Tabelle Rechnungsnummern im Format „00100“ in einem Zeichenfeld enthalten, können Sie ZONED( ) verwenden, um den numerischen Wert „100“ in den Zeichenwert „00100“ zu konvertieren. Auf diese Weise können Sie ähnliche Rechnungsnummern vergleichen.
Zeichenfolgenlänge und Rückgabewerte
Dem Ausgabewert werden führende Nullen hinzugefügt, wenn der Länge-Wert größer als die Anzahl der Ziffern in Zahl ist. Wenn Länge kleiner ist als die Anzahl der Ziffern in Zahl, wird die Ausgabe von der linken Seite abgeschnitten. Wenn der Wert in Zahl die gleiche Länge wie Länge hat, werden keine Nullen hinzugefügt.
Dezimalzahlen
Das ZONED-Format beinhaltet keinen expliziten Dezimalpunkt.
Negative Zahlen
Falls die eingegebene Zahl negativ ist, wird das Zeichen ganz rechts als ein Zeichen im Ergebnis dargestellt:
- „}“ für 0
- ein Buchstabe zwischen „J“ und „R“ für die Ziffern „1“ bis „9“.
ZONED( ) und die Unicode-Edition von Analytics
Wenn Sie mit der Unicode-Version von Analytics arbeiten, müssen Sie die BINTOSTR( )-Funktion verwenden, um den Rückgabewert der ZONED( )-Funktion ordnungsgemäß anzuzeigen. Sie müssen die BINTOSTR( )-Funktion verwenden, wenn Sie den Rückgabewert der ZONED( )-Funktion als Parameter in einer anderen Funktion verwenden möchten.