재우니의 블로그

MSSQL Server Zero Pad Left ( 빈 앞자리에 0 채우기) - Format 함수 활용

MSSQL 2012 이상 버전은 자체 함수인 FORMAT 을 이용하여 쉽게 사용이 가능합니다.

SELECT FORMAT(151, '0000') as myId

 


그 미만 버전 경우는 함수를 만들어서 사용해야겠죠.

 

 

http://www.sqlserver.info/data-formatting/sql-server-zero-pad-left/

 

SQL Server Zero Pad Left | SQLServer.info

In a recent project, I had the task of padding a number with zeros. SQL Server doesn’t have a built in Zero Pad Left function. SQL Server does have a Right function. You can use this to create a zero padded left string. SELECT RIGHT('0000000000' + @TextT

www.sqlserver.info

 

CREATE FUNCTION PadLeft

 (@TextToPad    VARCHAR(8000),

  @CharacterToPad VARCHAR(1),

  @NumberToPad   INT)

RETURNS VARCHAR(8000)

AS

BEGIN

 DECLARE @OutputText VARCHAR(8000) 



 SET @OutputText = REPLICATE(@CharacterToPad, @NumberToPad) + @TextToPad 



 RETURN RIGHT(@OutputText, @NumberToPad)

END

호출하여 사용

SELECT [dbo].[PadLeft] (

   '151' -- 자동증가수

  ,'0' -- 빈값은 0으로 채워줘

  ,4 -- 총 4자리임

)

GO