Rellenos de Ceros a la izquierda
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
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
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
======================================
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