navicat导入MYSQL数据库小数点位数变小
EXCEL表里面十几位小数,我在MYSQL设置8位,通过navicat的方式导入数据库,发现小数变成6位小数然后后面补偿了00,怎么解?...
EXCEL表里面十几位小数,我在MYSQL设置8位,通过 navicat的方式导入数据库,发现小数变成6位小数然后后面补偿了00,怎么解?
展开
1个回答
2019-05-06
展开全部
对于小数位可能很长(比如excel的浮点数)不确定长度的浮点型数字,double类型才是正确的选择。
decimal多用于定长小数的情况。
首先:要确定你的问题是什么。
1、是小数位数后面的0不需要?
那double会自动忽略后面所有的0.
2、是数据被剪切(小数位数变少)了?
那么可以有2个解决方案。
A、使用double定义该字段,然后重新导入数据。
B、使用decimal,但是小数位的总长度必须大于你需要导入的数据小数点的总长度。且字段总长度必须大于等于“小数点左边的长度+小数点右边的长度”
以上所有解决方案都解决不了已经导入的数据的小数值,因为丢失在导入的时候已经发生了。所以要保证正确性,必须重新导入。
decimal多用于定长小数的情况。
首先:要确定你的问题是什么。
1、是小数位数后面的0不需要?
那double会自动忽略后面所有的0.
2、是数据被剪切(小数位数变少)了?
那么可以有2个解决方案。
A、使用double定义该字段,然后重新导入数据。
B、使用decimal,但是小数位的总长度必须大于你需要导入的数据小数点的总长度。且字段总长度必须大于等于“小数点左边的长度+小数点右边的长度”
以上所有解决方案都解决不了已经导入的数据的小数值,因为丢失在导入的时候已经发生了。所以要保证正确性,必须重新导入。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |