Rellenos de Ceros a la izquierda

Carlos Amaya
29 de Diciembre del 2003
Saludos, quiesiera saber si alguien me puede decir como hago para rellenar una variable de ceros a la izquierda y luego devolver ese valor ejemplo en SQL SERVER 2000
si tengo SELECT @Temp = MAX(ID) FROM CAMPO
luego;
SET @Temp = @Temp+1
?...
algo que me de si @Temp = 10 ->'000010'
o si @Temp = 9 -> '000009'

En Sybase lo hice con la funcion de sistema 'Syswidth' pero no tengo idea en SQL Server...Gracias por su atencion

Pablo Santa Maria
29 de Diciembre del 2003
Espero que ésto te ayude...

======================================

CREATE PROCEDURE _SP_GETDOCNUM
@DocNumber varchar(20) OUTPUT
AS
DECLARE @NewDocNum int
-- Declaracion de cursores
DECLARE curDocNum CURSOR STATIC LOCAL FOR
SELECT ISNULL(MAX(CAST(DocNumber as int)),0)+1 AS NewDocNum FROM Docs
OPEN curDocNum
-- leer registro
FETCH curDocNum INTO @NewDocNum
-- formatear y asignar el numero nuevo
SET @DocNumber=RIGHT('00000000000000000000'+CAST(@NewDocNum as varchar(20)),20)
-- cerrar todo
CLOSE curDocNum
DEALLOCATE curDocNum

GO