title: SQL - How to change data type float to nvarchar and remove scientific notation
body: <p>How do I change the data type float to nvarchar in order to remove the scientific notation and still keep precision? Consider the following:</p>
  
  <pre><code>CREATE TABLE ConversionDataType (ColumnData FLOAT);
  
  INSERT INTO ConversionDataType VALUES (25566685456126);
  INSERT INTO ConversionDataType VALUES (12345545546845);
  INSERT INTO ConversionDataType VALUES (12345545545257);
  </code></pre>
  
  <p>When I do a simple read I get the following data, as expected:</p>
  
  <pre><code>select * from ConversionDataType 
  
  ColumnData
  ------------------------------------
   25566685456126
   12345545546845
   12345545545257
  </code></pre>
  
  <p>Now when I try update the data type to an nvarchar, it gets stored in scientific notation which is something I don't want:</p>
  
  <pre><code>update ConversionDataType
  set ColumnData = CAST(ColumnData AS NVARCHAR)
  </code></pre>
  
  <p>The result set is as follows:</p>
  
  <pre><code>25566700000000
  12345500000000
  12345500000000
  </code></pre>
  
  <p>It replaces some digits and adds zeros after the 6th index. How can I go about this? I had a look at the Convert function but that is only for converting date time data types. </p>