title: On creating a table column of type "float with precision" column gets created as "real" type in SQL server
body: <p>I created a simple table as below:</p>
  
  <pre><code>create table table1
  (
  col1 float(1),
  col2 float
  )
  </code></pre>
  
  <p>When I check the table definition using sp_help or script table as create,
  I get the float(1) as real</p>
  
  <pre><code>CREATE TABLE [dbo].[table1](
  [col1] [real] NULL,
  [col2] [float] NULL
  )
  </code></pre>
  
  <p>As per my understanding from <a href="https://msdn.microsoft.com/en-in/library/ms173773.aspx" rel="nofollow noreferrer">msdn</a> and <a href="https://stackoverflow.com/questions/1056323/difference-between-numeric-float-and-decimal-in-sql-server">stackoverflow</a> references, float can have a precision n ranging from 1 to 53.</p>
  
  <p>Why is it getting converted to real by default whenever float has a precision specified?</p>