Fügt einer Zeichenfolge oder einer Zahl führende Nullen hinzu.
Syntax
LEADINGZEROS(Zeichenfolge/Zahl; Länge)
Parameter
Name | Typ | Beschreibung |
---|---|---|
Zeichenfolge/Zahl | Zeichen numerisch |
Das Feld, der Ausdruck oder der Literalwert, dem führende Nullen hinzuzufügen sind. Führende und nachgestellte Leerzeichen werden bei Zeichenwerten und dem Ergebnis von Zeichenausdrücken automatisch gestrichen, bevor die führenden Nullen hinzugefügt werden. |
Länge | numerisch |
Die Länge der Ausgabezeichenfolge. Hinweis Wenn ein Wert in Zeichenfolge/Zahl länger als Länge ist, wird er von links abgeschnitten. |
Ausgabe
Zeichen.
Beispiele
Einfache Beispiele
Zeicheneingabe
Gibt „000235“ zurück. Drei führende Nullen werden dem Ergebnis hinzugefügt, da Länge größer ist als die Anzahl der Zeichen in Zeichenfolge/Zahl:
LEADINGZEROS("235“; 6)
Gibt „35“ zurück. Das Ergebnis wird von links abgeschnitten, da Länge kleiner ist als die Anzahl der Zeichen in Zeichenfolge/Zahl:
LEADINGZEROS("235"; 2)
Ganzzahleingabe
Gibt „235“ zurück:
LEADINGZEROS(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 Zeichenfolge/Zahl:
LEADINGZEROS(235; 5)
Dezimale Eingabe
Gibt „023585“ zurück,, weil LEADINGZEROS( ) das Dezimalkomma entfernt:
LEADINGZEROS(235,85; 6)
Negative Eingabe
Gibt „0644894“ zurück,, weil LEADINGZEROS( ) das Minuszeichen entfernt:
LEADINGZEROS(-6448,94; 7)
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.
COMMENT gibt "0000254879" zurück ASSIGN v_Zeichenfolgenlänge = 10 LEADINGZEROS(Mitarbeiternummer; v_Zeichenfolgenlänge)
Ein Schlüsselfeld beim Verbinden von Tabellen harmonisieren
Ihnen liegen die beiden Tabellen Forderungen und Kunde vor. Sie möchten sie mit dem Schlüsselfeld der Kundennummer zur weiteren Analyse verbinden. Die beiden Schlüsselfelder weisen jedoch unterschiedliche Datenformate auf, weshalb die Werte nicht zugeordnet werden können.
Tabelle | Schlüsselfeld | Datentyp | Feldlänge | Beispiel |
---|---|---|---|---|
Forderung | KundNum | Numerisch | 4 | 4455 |
Kunde | KdnNr | Zeichen |
6 (Zahlen werden durch führende Nullen aufgefüllt) |
"004455" |
Um die Felder bei der Verbindung zu harmonisieren, erstellen Sie ein Kalkulationsfeld in der Tabelle Forderungen, das die LEADINGZEROS( )-Funktion verwendet. Dann verbinden Sie über das Kalkulationsfeld:
OPEN Kunde INDEX ON Kundennr TO Kunde_nach_Kundennummer OPEN Forderungen COMMENT Kalkulationsfeld „KundNum_Nullen“ erstellen, welches das Feld „KundNum“ in den Zeichentyp umwandelt und führende Nullen hinzufügt. DEFINE FIELD KundNum_Nullen COMPUTED LEADINGZEROS(KundNum;6) COMMENT Verbindet die Tabelle Forderungen über das neuerstellte Kalkulationsfeld „KundNum_Nullen“. DEFINE RELATION KundNum_Nullen WITH Kunde INDEX Kunde_nach_Kundennummer
Bemerkungen
Funktionsweise
Diese Funktion fügt der Ausgabe führende Nullen hinzu, falls die von Ihnen angegebene Ausgabelänge größer als die Länge eines Eingabewerts ist. Die Funktion nimmt unterschiedliche Zeichen- und Zahleneingaben an und gibt eine Zeichenfolge aus. In der Unicode- und der Nicht-Unicode-Edition von Analytics unterscheidet sich die Funktion nicht.
Üblicherweise wird sie zum Normalisieren von Feldern verwendet, die vorangestellte Nullen erfordern, z.B. Felder mit Scheck-, Bestell- oder Rechnungsnummern.
Eingabelänge und Ausgabewerte
Eingabelänge | Ausgabewerte |
---|---|
Zeichenfolge/Zahl kleiner als Länge | vorangestellte Nullen hinzugefügt |
Zeichenfolge/Zahl gleich Länge | keine Nullen hinzugefügt |
Zeichenfolge/Zahl größer als Länge | Werte werden von links abgeschnitten |
Minuszeichen, Tausendertrennzeichen und Dezimalkomma
Eingabewerte | Ergebnis |
---|---|
Numerisch |
LEADINGZEROS( ) entfernt das Minuszeichen, das Tausendertrennzeichen und das Dezimalkomma aus den numerischen Eingabewerten. Die entfernten Symbole sind in der Länge des Eingabewerts nicht berücksichtigt. |
Zeichen |
LEADINGZEROS( ) entfernt nicht das Minuszeichen, das Tausendertrennzeichen oder das Dezimalkomma aus den Zeicheneingabewerten. Die entfernten Symbole sind in der Länge des Eingabewerts berücksichtigt. |