This function is used to generate roman numerals for given integer.
Check this out....
select dbo.fn_get_roman_numerals(133,1)
select dbo.fn_get_roman_numerals(133,0)
Regards,
Vignesh Arulmani
This function is used to generate roman numerals for given integer.
Check this out....
select dbo.fn_get_roman_numerals(133,1)
select dbo.fn_get_roman_numerals(133,0)
Regards,
Vignesh Arulmani
create function fn_get_roman_numerals(@inputstring as int,@isupper bit) returns varchar(128) as begin declare @returnstring varchar(100), @sub varchar(100), @number bigint, @position int, @mod bigint set @returnstring = '' --set roman symbols orders set @sub = 'IVXLCDM' if @inputstring=0 begin set @returnstring = '' end else begin select @position = 1, @number = abs(@inputstring) while(@position<=5) begin set @mod = @number % 10 set @number = @number / 10 select @returnstring = case when @mod in (0,1,2,3) then replicate(substring(@sub,@position,1),@mod) + @returnstring when @mod in (4) then substring(@sub,@position,2) + @returnstring when @mod in (5,6,7,8) then substring(@sub,@position+1,1) + replicate(substring(@sub,@position,1),@mod-5) + @returnstring when @mod in (9) then substring(@sub,@position,1) + substring(@sub,@position+2,1) + @returnstring end set @position = @position + 2 end set @returnstring = replicate('M',@number) + @returnstring if @inputstring < 0 set @returnstring = '-' + @returnstring end if @isupper = 0 set @returnstring = lower(@returnstring) return @returnstring end go select dbo.fn_get_roman_numerals(133,1) select dbo.fn_get_roman_numerals(133,0)