Da war ich wohl etwas zu voreilig.
Beim CAST stehen die Werte natürlich linksbündig, was nicht unbedingt schön aussieht.
Hier kommt jetzt aber die Lösung, wie das ganze rechtsbündig zu stellen ist.
Annahme:
Feld number ist decimal(12, 2) definiert.
Für die Zeichendarstellung brauchen wir inklusive Vorzeichen 13 Stellen.
Der "Trick" ist, dass man die Länge des Wertes feststellt und dann die danach folgenden Leerzeichen im Ergebnis zuerst ausgibt und dann erst die eigentlich Zahl:

SELECT
SUBSTR(cast(number as character(13)),
length(trim(cast(number as character(13))))+1,
13-length(trim(cast(number as character(13))))
concat
LEFT(cast(number as character(13)),
length(trim(cast(number as character(13))))),
cast(number as character(13))
FROM lib/table

Schönen Abend noch
Uwe