Convert Number to Roman Numerals in SQL Server

  1. CREATE FUNCTION fnConvertIntToRoman(@i INT)  
  2. RETURNS VARCHAR(100)  
  3. AS  
  4. BEGIN  
  5.     RETURN    Replicate('M', @i/1000)  
  6.             + REPLACE(REPLACE(REPLACE(  
  7.                   Replicate('C', @i%1000/100),  
  8.                   Replicate('C', 9), 'CM'),  
  9.                   Replicate('C', 5), 'D'),  
  10.                   Replicate('C', 4), 'CD')  
  11.              + REPLACE(REPLACE(REPLACE(  
  12.                   Replicate('X', @i%100 / 10),  
  13.                   Replicate('X', 9),'XC'),  
  14.                   Replicate('X', 5), 'L'),  
  15.                   Replicate('X', 4), 'XL')  
  16.              + REPLACE(REPLACE(REPLACE(  
  17.                   Replicate('I', @i%10),  
  18.                   Replicate('I', 9),'IX'),  
  19.                   Replicate('I', 5), 'V'),  
  20.                   Replicate('I', 4),'IV')  
  21.   
  22. END