从EXCEL导入数据库数值型都被四舍五入了

实现EXCEL数据导入数据库(MYSQL)的过程中,发现EXCEL数值类型的字符到数据库中最后两位就会被四舍五入,例如200862到数据库里就会变成200860,我数据库... 实现EXCEL数据导入数据库(MYSQL)的过程中,发现EXCEL数值类型的字符到数据库中最后两位就会被四舍五入,例如200862到数据库里就会变成200860,我数据库该字段类型设的为VARCHAR,如果设成别的类型也不对,比如用浮点型,数据库里存的就和EXCEL里文本类型一样了。。。我在存入的函数里没有加入四舍五入转换,所以肯定问题出在格式上,求解 展开
 我来答
紫仑天玑
推荐于2016-08-26 · 萝卜数学关注思维过程
紫仑天玑
采纳数:324 获赞数:888

向TA提问 私信TA
展开全部

多看看你写的程序吧!

这种问题我不想回答来着,百度里弄不成精彩回复。

--------------

给你做一个实验。

假如excel 使用的是标准xml 驻存。


基本上类似于如下结构


<H30_Value>4.011<H30_Value/>

<H30_Handle>Round(2)<H30_Handle/>

<H30_ViewValue>4.00<H30_ViewValu/>


也就是说,你获得的值不是视觉值就是,实际存储值。

你的程序并没有统一处理,一些API,getCellValue,和 Value 差距可是相当的大。


mysql 写的导入插件用的是实际存储值。


我建立一个表,三个列 A int B float C varchar


 然后我用甲骨文开发的插件提交一下数据:


一共三行 三种格式。 自己多看看 fx 的那个显示 是什么值



也就是说 造成这种视觉和实际的元凶是handle,你用最简单的模板试一下,我个人认为你的那个程序有问题的概率比excel格式出问题的概率大一些。

mysql 文本 如果是数字 也可运算,这是一个优点。也是一个缺点。

追问
我数值型没有保留小数点,故输入值和显示值是一样的,我程序里没用Round函数,出现了最后两位四舍五入的这情况,应该没这么神奇吧
追答
所以让你优先排查你的程序。 你也可以用mysql  for  excel这个插件 ,提交一下你的excel。
试一下就知道问题出在哪里了。

以前开发程序的时候倒是有这种情况,200862到数据库里就会变成200860 基本不可能,可能是你举的例子根本就是你的假设。

但是在长数据的时候会产生这样的情况。

比如56656565665656566666 在excel 中 常规 数字 都会变成 56656565665656560000

当时解决是采用 先设置文本,或采用 '56656565665656566666 加个上撇 存储。
是csv文件,不要用excel 打开,不然大数据都会被编零。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
07150122
2013-04-28 · 超过20用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:61.3万
展开全部
这是单元格格式的问题,你在你输入的数据上按右键,选择单元格格式,选数值,保留几位小数,你自己选择,因为之前你选择的是零位,所以四舍五入了
追问
我保留小数点后几位也是这样,数据库内格式用什么好呢。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2013-04-28 · TA获得超过7379个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2767万
展开全部
数据库中 VARCHAR 类型是字符串类型。
追问
我就是在问为啥数值型存字符串就会出现后两位四舍五入的情况呢?~数据库内应该对应哪种格式才正确显示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风莞小小学享
2013-04-28
知道答主
回答量:55
采纳率:0%
帮助的人:20.6万
展开全部
既然数据库上VARCHAR

excel对应列 应该设为文本型
追问
数字作为文本处理会存成6.93155E+12这样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
54493952
2013-04-28 · TA获得超过517个赞
知道小有建树答主
回答量:303
采纳率:62%
帮助的人:116万
展开全部
我在批量处理数据库内容的时候,也遇到这种问题。我一般会直接导出CSV文件,让后用TXT进行内容替换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式