oracle中对数字类型的处理

前端之家收集整理的这篇文章主要介绍了oracle中对数字类型的处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_0@最近遇到问题,oracle的number类型的数据,使用rs.getString()获取值时候,例如是0.098最后得到的是.098,这样使用to_char

@H_301_0@进行格式化

@H_301_0@具体如下:

@H_301_0@我们通常在做数据算数后,会想要让它显示自己需要的格式,这里介绍一种简单的方式

to_char(数据,'FM999,999,990.00')@H_301_0@

例子:@H_301_0@

@H_301_0@select to_char(0.59/1.00*100,990.00')||'%' from dual 

@H_301_0@结果为:59.00%

@H_301_0@select to_char(0.6,990.00') from dual 执行结果为:0.60

@H_301_0@对于格式化的说明:

@H_301_0@  1.其中9代表:如果存在数字则显示数字,不存在则显示空格

@H_301_0@  2.其中0代表:如果存在数字则显示数字,不存在则显示0,即占位符。

@H_301_0@  3.其中FM代表:删除如果是因9带来的空格,则删除

@H_301_0@Note:

@H_301_0@1 .如果是 0.596 这样的数字,使用上面的格式进行格式化会自动四舍五入

@H_301_0@解决方案; 使用trunc进行处理 select (to_char(trunc(0.596,2),'@H_301_0@FM999,990.00')) from dual

@H_301_0@这样直接获取为0.59

@H_301_0@2. 如果是整数,没有小数点,使用上面的格式化就会出现1000---->>>1000.的状况,这样需要先判断一下,在使用

猜你在找的Oracle相关文章