Die Präsentation von Informationen aus der Datenbank ist imho eher Sache des Clients als die des Servers. Solche Aufgaben gehören zum Handswerkzeug jedes Front-End und sind dort schnell und einfach erledigt.
Falls jedoch, aus welchen Gründen auch immer, dies auf dem Server erledigt werden muss, kann vielleicht folgendes Skript gute Dienst leisten:
DECLARE @MeineZahl INT
SET @MeineZahl = 99
SELECT
RIGHT(REPLICATE('0',10) + CAST(@MeineZahl AS VARCHAR(10)),10) AS Rechtsbündig
, LEFT(CAST(@MeineZahl AS VARCHAR(10)) + REPLICATE('0',10) ,10) AS Linksbündig
Rechtsbündig Linksbündig
------------ -----------
0000000099 9900000000
(1 row(s) affected)
Für den Lazycoder könnte das rechtbündige Auffüllen auch noch folgendermaßen aussehen:
DECLARE @MeineZahl INT
SET @MeineZahl = 99
SELECT REPLACE(STR(@MeineZahl,10), ' ', '0')
Rechtsbündig
----------------------
0000000099
(1 row(s) affected)