Versión en Español
Sometimes we have a number and want display it with left zeros on a specified lenght.
We have this:
Is needed display the 756 number on this way: 0000000756
We need tocreate this SQL Server Script:
CREATE FUNCTION [dbo].[fn_GenerateID] (@ID BIGINT, @LEN SMALLINT) RETURNS NVARCHAR(100) AS /* THIS FUNCTION GENERATE ID WITH LEFT ZEROS. JUAN GABRIEL CASTILLO TURRUBIATES tyrodeveloper@gmail.com 20 dic 2011 Example: SELECT dbo.fn_GeneraFolio(243,5) AS RESULT Where 243 is the number to be converted and 5 is the number of chars, the value result is: |RESULT 00243 */ BEGIN DECLARE @SRC_LEN SMALLINT, @DIFF_LEN SMALLINT, @COUNT SMALLINT, @ZERO NVARCHAR(100) SET @ZERO='' SET @SRC_LEN = LEN(CAST(@ID AS NVARCHAR(100))) IF @LEN <= @SRC_LEN BEGIN --IF THE LENREQUESTED IS LESS OR EQUAL THAN THE ORIGINAL SET @ZERO = '' END ELSE BEGIN --IF THE LEN REQUESTED IS MORE THAN THE ORIGINAL SET @COUNT= 0 SET @DIFF_LEN = @LEN - @SRC_LEN WHILE(@COUNT < @DIFF_LEN) BEGIN SET @ZERO = @ZERO + '0' SET @COUNT = @COUNT + 1 END END RETURN @ZERO + CAST(@ID AS NVARCHAR(100)) END
Implementation:
We have the 756 number and want to how with a lenght of 10:
SELECT dbo.fn_GenerateID(756,10) AS RESULT
Please Click on +1
No hay comentarios:
Publicar un comentario