상세 컨텐츠

본문 제목

숫자 3자리마다 콤마(,) 찍기 및 앞뒤에 글자넣기

청강컴정/DataBase

by luckey 2009. 5. 27. 15:00

본문

create function get_format_num
(
 @value int,
 @header varchar(5),
 @footer varchar(5)
)
returns varchar(36)
as
begin
 declare @temp varchar(36)
 declare @result varchar(36)
 declare @i int
 set @result = ''
 
 if(isnumeric(@value) = 1)
 begin
  set @temp = reverse(cast(@value as varchar(36)))
  set @i = 1
  while(@i <= len(@temp))
  begin
   set @result = substring(@temp, @i, 1) + @result
   if((@i % 3) = 0)
   begin
    set @result = ',' + @result
   end
   set @i = @i + 1
  end
 end
 else
 begin
  set @result = '0'
 end

 if(substring(@result, 1, 1) = ',')
 begin
  set @result = substring(@result, 2, 36)
 end
 set @result = @header + @result + @footer
 return @result
end

--실행방법
select BoardSample.dbo.get_format_num(E232, '', '원')

관련글 더보기

댓글 영역