본문 바로가기

Story/mssql

지정한 자리수만큼 0 으로 채워주고싶을때 (zerofill)

반응형

지정한 자리수만큼 0 으로 채워주고싶을때
php 의 sprintf 함수나 mysql 의 필드속성 중 zerofill 과 같은 효과를 주려면 함수를 새로 만들어 사용해야 한다.

ex) php
<?
echo sprintf("%03d",99);
?>
결과는 "099" 와 같이 3자리로 채워준다.

CREATE function dbo.zerofill(@i as varchar(3))
    returns varchar(3)
as
begin
    declare @t_str varchar(3)
    set @t_str = '000'
    set @i = right(@t_str + @i, 3)
    return @i
end
이처럼 사용자 정의 함수 zerofill 을 만든다.
3 과 '000' 이 부분을 원하는 자리수 만큼 바꿔주면된다.

사용 할 때는 select dbo.zerofill('99') 와 같은 형태로  하면된다.
반응형

'Story > mssql' 카테고리의 다른 글

mysql mssql 에서의 text 필드 Enter 값 update  (0) 2012.03.08