SQL SELECT 小数0丢失(存储过程中为什么会丢失小数点前面的0) - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
May 12

SQL SELECT 小数0丢失(存储过程中为什么会丢失小数点前面的0) 不指定

tommyhu , 21:44 , DBA , Comments(1) , Trackbacks(0) , Reads(12232) , Via Original Large | Medium | Small
SQL SELECT 小数0丢失(存储过程中为什么会丢失小数点前面的0)
例如:数据库中值为0.85,select查询到页面显示为.85,小数点前面的0丢失!
我是这么处理的
select prize from database with(nolock) where pid=1
rs("prize ")
dim prize :prize =round(rs("prize "),2)
下面是网路上的一些解决方法
oracle数据库中,小数如果小于1,那么查询出来后前面的0是不显示的。所以不过是sql直接取出还是存储过程中取出,显示到页面时,都缺少小数点前的0.
解决办法
通过decode函数
如select decode(substr(percent,1,1),'.','0'||percent,percent) percent
from point;


关于sql丢失前缀零解决方案
SELECT round(-0.23,2)||'%' FROM dual; -.23%
解决
select to_char(round(-0.23,2),'90D99') from dual
SELECT to_char(-0.23, 90.99)||'%' FROM dual;
-0.23%

附赠round使用
ROUND函数是四舍五入函数,返回数字表达式并四舍五入为指定的长度或精度。

语法:
ROUND ( numeric_expression_r , length [ , function ] )
参数:
numeric_expression_r
精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。
length
是 numeric_expression_r 将要四舍五入的精度。length 必须是 tinyint、smallint 或int。当 length 为正数时,numeric_expression_r 四舍五入为 length 所指定的小数位数。当 length 为负数时,numeric_expression_r 则按 length 所指定的在小数点的左边四舍五入。
function
是要执行的操作类型。function 必须是 tinyint、smallint 或 int。如果省略 function 或 function 的值为 0(默认),numeric_expression_r 将四舍五入。当指定 0 以外的值时,将截断 numeric_expression_r。
返回类型
返回与 numeric_expression_r 相同的类型。
注释
ROUND 始终返回一个值。如果 length 是负数且大于小数点前的数字个数,ROUND 将返回 0。
示例
Result
Remark

select round(748.58,-1)
750.00
从小数点左边第1位四舍五入,其他位为0

select round(748.58,-2)
700.00
从小数点左边第2位四舍五入,其他位为0

select round(748.58,-3)
1000.00
从小数点左边第3位四舍五入,其他位为0

select round(748.58,-4)
0
length 是负数且大于小数点前的数字个数,ROUND 将返回 0

select round(748.58,1)
748.60
四舍五入为length所指定的小数位数

select round(748.58,2)
748.58
四舍五入为length所指定的小数位数

select round(124.9994,3)
124.9990
四舍五入为length所指定的小数位数

select round(124.9995,3)
125.0000
四舍五入为length所指定的小数位数

select round(150.75,0)
151.00
四舍五入的结果

select round(150.75,0,1)
150.00
截断的结果

▲返回顶部
Last modified by tommyhu on2011/05/12 21:47

互联网开发网友 Email Homepage
2016/11/01 14:02
Lately learned from Ningbo Customs , in the initially half Ningbo port imports and exports reached 635.97 billion yuan total , an increase of 1.3% more than final year ( exactly the same beneath ) . Which imports 229.56 billion yuan , down three.6% ; export 406.41 billion yuan , an increase of four.3% ; trade surplus of 176.85 billion yuan , a rise of 16.5% . June , Ningbo port imports 33.98 billion yuan , down 2 % , the monthly import volume fell 5 consecutive months ; exports of 78.85 billion yuan , an increase of 7.5% , monthly exports rose 4 consecutive months . Among them, the main export commodities of machinery and electronic goods , textiles and clothes and footwear , and each growth.
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot