存储过程中为什么会丢失小数点前面的0

如题所述

oracle数据库中,小数如果小于1,那么查询出来后前面的0是不显示的。所以不过是sql直接取出还是存储过程中取出,显示到页面时,都缺少小数点前的0.
解决办法:
通过decode函数
如select decode(substr(percent,1,1),'.','0'||percent,percent) percent
from point;
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-23
我只知道Excal的,先在单元格里的最前面打一个英文的单引号就会保留0。

存储过程中为什么会丢失小数点前面的0
oracle数据库中,小数如果小于1,那么查询出来后前面的0是不显示的。所以不过是sql直接取出还是存储过程中取出,显示到页面时,都缺少小数点前的0.解决办法:通过decode函数 如select decode(substr(percent,1,1),'.','0'||percent,percent) percent from point;...

oracle存储过程计算值小于零的值,小数点前零不显示
该字段精度给错了

oracle存储过程计算值小于零的值,小数点前零不显示。比如0.4 显示就是...
to_char(0.4,'9.9')to_char(数字,'格式')

存储过程什么只取小数点后面数据?如:1.2 什么只取 小数点后面的 2...
应当是你想要意思。我是首先找到小数点在什么位置。加1。找到小数点后面的数字为4,你可以试一试

怎样在项目中使用存储过程
返回到 OUT 参数中的值可能会是JDBC NULL。当出现这种情形时,将对 JDBC NULL 值进行转换以使 getXXX 方法所返回的值为 null、0 或 false,这取决于getXXX 方法类型。对于 ResultSet 对象,要知道0或false是否源于JDBCNULL的唯一方法,是用方法wasNull进行检测。如果 getXXX 方法读取的最后一个值是 ...

关于SQL存储过程中保留小数点后几位的问题
convert(numeric(18,1),a*b)

如何给DB2数据库的存储过程中 where 的in 条件传参数?
- 如果你不指定精度和小数位数,默认精度的十进制值是5,和默认的小数位数为0。- 2语法:NULLIF(表达式,表达式)- 表达式:(常量,列名,函数,子查询或算术运算符,任何按位运算符和字符串运算组)- 如果两个表达式不相等,NULLIF返回第一个表达式的值。如果他们是平等的,NULLIF返回第一个表达式...

C语言:双精度与单精度是包含关系吗?那么我能所有的数都用双精度表标吗...
当你需要高精度的时候,就用双精度,但双精度有个缺点,占用内存比单精度多些(双精度8个字节,单精度4个字节),当程序很大时,用双精度编的程序运行用的时间比较多,所以再不必需要高精度时,就用单精度。实型是单精度和双精度的统称,实型和整型在内存里的存储形式不一样。长整型在内存中占4个...

MSSQL SERVER中易混淆的数据类型
使用Tinyint 数据类型时,存储数据的范围是从0 到255(每一个值要求1个字节存储空间)。精确小娄数据在 SQL Server 中的数据类型是 Decimal 和 Numeric。这种数据所占的存储空间根据该数据的位数后的位数来确定。在SQL Server 中,近似小数数据的数据类型是 Float 和 Real。例如,三分之一这个分数记作。3333333,当...

Oracle中NUMBER类型如果不指定长度和小数点精度默认是多长
number(p,s):p:精度位,precision,是总有效数据位数,取值范围是38,默认是38,可以用字符*表示38。s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果指定了p,那么s=0。

相似回答