01 julho 2014

STRZERO no SQL Server

Olá pessoal!

Vamos criar uma function muito útil em diversas situações. A STRZERO.

Para quem não sabe do que se trata, essa função preenche com zeros à esquerda um número passado como parâmetro.
Você pode fazer manualmente mas se precisar várias vezes dá trabalho.

Postei a um tempo atrás como fazer essa função como SP no Firebird... vamos agora ao SQLServer.


-- ===================================================
-- Author:Nilcemar Ferreira - .BAT Tecnologia
-- Create date: 01/07/2014
-- Description: Preenche o valor passado no parâmetro
--              com zeros à esquerda ou à esquerda
-- ===================================================
ALTER FUNCTION [dbo].[STRZERO]
(
-- Add the parameters for the function here
@NUMERO int, @DIGITOS tinyint
)
RETURNS varchar(100)
AS
BEGIN
   RETURN REPLICATE('0',@DIGITOS-LEN(@NUMERO))+cast(@NUMERO as varchar(100));
END


Para testar:

  • select dbo.STRZERO(123,10)
  • Resultado: '0000000123'