View Full Version : Alphafeld rechtsbündig stellen, mit führenden 0en
programmer400
02-07-12, 13:33
Bei einer Datenübernahmen kommt die Kundennummer alpha, linksbündig mit verschiedenen Längen (max. 6stellig) daher.
Kann ich mit SQL diese Ziffern rechtsbündig stellen und mit führenden 0en versehen.
Oder bleibt nix anderes übrig, als zu programmieren?
digits(dec(trim(Feld):6:0))
Funktioniert nur, wenn "Feld" immer numerisch und nicht leer ist.
Wenn dein Feld Alpha ist
folgendes 5 x aufrufen
update myfile
set kunde = '0' concat Substr(kunde, 1, 5)
where Substr(kunde, 6, 1)= ' '
... oder
Update MyTable
Set MyCol = Right('000000' concat Trim(MyCol), 6)
...
... und das nur 1x aufrufen
Birgitta
Okay,
das sieht natürlich eleganter aus
programmer400
02-07-12, 18:01
hab die Varianten von malzusrex verwendet da "right" unter V5R2M0 anscheinend noch nicht unterstützt wird.
Meine Variante wäre auch nur ein Aufruf, sogar ab V4 :).
Meine Variante wäre auch nur ein Aufruf, sogar ab V4 :).
Vorausgesetzt natürlich, dass das Feld nur numerische Zeichen enthält!
Ansonsten sollte das folgende Statement auch unter V5R2 funktionieren:
Update MyTable
Set MyCol = Translate(Space(6 - Length(Trim(MyCol))), '0', ' ') concat Trim(MyCol)
...
Birgitta