title: Modulo (%) works with Decimal datatype but not with float or real. WHY?
body: <p>Why modulo runs fine with decimal but not with float/real
  <a href="http://msdn.microsoft.com/en-us/library/ms190279.aspx" rel="noreferrer">MSDN</a> states about it "<strong>must be a valid expression of any one of the data types in the integer and monetary data type categories, or the numeric data type</strong>." why not floating values, because it is an approximate value ??</p>
  
  <pre><code>--Runs fine
  declare @pri decimal
  set @pri = 3.25
  select @pri%2
  </code></pre>
  
  <p>Result 1</p>
  
  <pre><code>--Gives an error 402
  declare @pri float
  set @pri = 3.25
  select @pri%2
  </code></pre>
  
  <p>Msg 402, Level 16, State 1, Line 3
  The data types float and numeric are incompatible in the modulo operator.</p>