問題: 有時候,我們在將excel表格中數據導入資料庫中時,對於表格中的數字會預設為float的數據類型,這個時候導入到資料庫中的這個表的值是正常顯示的; 然而如果你要把導入到資料庫中的表,再插入到另一個表中,並且對應的欄位如果是char、varchar或者是nvarchar等類型時,並且對應的數據 ...
問題:
有時候,我們在將excel表格中數據導入資料庫中時,對於表格中的數字會預設為float的數據類型,這個時候導入到資料庫中的這個表的值是正常顯示的;
然而如果你要把導入到資料庫中的表,再插入到另一個表中,並且對應的欄位如果是char、varchar或者是nvarchar等類型時,並且對應的數據長度比較長時就會出現科學計數法e+的情況。
這是由excel導入到資料庫之後的欄位類型: 這是表中的數據:都是521346045
這是我新建的表的欄位類型:
當我們直接用sql將type_test表中的數據直接insert into 到type表中時,就會出現這樣的結果,顯然這樣的數據是不可取的,我們需要進行數據轉換
解決:
對於數據轉換,我們應該儘量在數據插入的時候進行,不要在插入之後再做修改,具體兩種結果比較
①插入之後再做修改(我們用e列做例子):發現e+的情況消失了,但是卻出現了數值不准確的情況(float轉換之後變成了一個近似值)
②插入過程中修改:科學計數法e+的情況消失,並且數值準確
在我們更新某些數據列的時候,一定要註意是否會出現科學計數法的情況。