问题:
有时候,我们在将excel表格中数据导入数据库中时,对于表格中的数字会默认为float的数据类型,这个时候导入到数据库中的这个表的值是正常显示的;
然而如果你要把导入到数据库中的表,再插入到另一个表中,并且对应的字段如果是char、varchar或者是nvarchar等类型时,并且对应的数据长度比较长时就会出现科学计数法e+的情况。
这是由excel导入到数据库之后的字段类型: 这是表中的数据:都是521346045
这是我新建的表的字段类型:
当我们直接用sql将type_test表中的数据直接insert into 到type表中时,就会出现这样的结果,显然这样的数据是不可取的,我们需要进行数据转换
解决:
对于数据转换,我们应该尽量在数据插入的时候进行,不要在插入之后再做修改,具体两种结果比较
①插入之后再做修改(我们用e列做例子):发现e+的情况消失了,但是却出现了数值不准确的情况(float转换之后变成了一个近似值)
②插入过程中修改:科学计数法e+的情况消失,并且数值准确
在我们更新某些数据列的时候,一定要注意是否会出现科学计数法的情况。