access数据库中小数点前0没有了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了access数据库中小数点前0没有了相关的知识,希望对你有一定的参考价值。
sql "update device_table set mvol=25.4,baout=0.4 where comnum='COM1'"
我写入数据库后mvol字段是正常的值 25.4
但是baout的值变成了.4
我想要显示0.4啊,该怎么破?
2、另一种做法。在access中,在设计试图中打开你的表“device-table”,字段“baout”类型选择为“数字”,“字段大小”选择“小数”,然后关键是在“格式”中键入 0.### (而不要从组合框中选择),至于 0.## 什么意思?可在“帮助”中键入“数字格式”查找后,选择“设置表、窗体和报表中数据的格式”以及“Format 相关内容”,具体学习。简单先说一下,0表示该位置没有数字则以 0 表示,#表示该位置没有数字则留空;若键入 #.# 则 0.4 就会显示为 .4 。 参考技术A 打开“设计视图”,将“格式”选择为“标准即可”,不要选用“常规数字”
Bug记录Oracle中小数点前面的0不显示的问题
项目场景
在一次将列表数据导出到Excel
中的实现过程中,列表数据有个比例的字段,要求导出到Excel
中该字段的数据要以百分数的形式
进行显示。
问题描述
后台查询列表数据的时候,SQL语句我是这样进行拼接的(下面SQL为模拟SQL)。经过测试发现,最终导出到Excel中的数据该字段小数点前面的0丢失了。
select t.ratio * 100 || '%' from tmp_table t;
于是,在Plsql中执行该Sql语句发现
原因分析
这是由于Oracle中存在隐形转换,当与字符串进行拼接时自动调用了to_char函数,并且to_char在做转化时,如果你不指定格式,它就按它的格式去做转化,结果就把0给转不见了,所以在做转化时要给定格式。
解决方案
在进行隐形转换之前把小数进行字符串转换后再进行拼接,最终把SQL修改为下面的方式:
select to_char(t.ratio * 100,'fm990.0000') || '%' from tmp_table t;
以上是关于access数据库中小数点前0没有了的主要内容,如果未能解决你的问题,请参考以下文章