今天碰到一个小问题,分享一下。

oracle中输入0.1查出的时候是.1,现在想把结果格式化成varchar2,格式化成0.10,保留两位精度。

先拿大于1的数试验,没问题

SQL> select to_char(1.1,'99999999.99') from dual;

TO_CHAR(1.1,

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

1.10

SQL> c/1.1/.1

1* select to_char(.1,'99999999.99') from dual

SQL> /

TO_CHAR(.1,'

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

.10

--结果有问题

--貌似可以用这种方式

SQL> select to_char(.1,'999999990.99') from dual;

TO_CHAR(.1,'9

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

0.10

--或者SQL> select to_char(.1,'fm9999999990.00') from dual;

TO_CHAR(.1,'FM

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

0.10

--这样不可以

SQL> select to_char(.12,'fm999999.99') from dual;

TO_CHAR(.1

----------

.12

但是对于上面的两种方法,仔细琢磨一下,会发现 差别还是很大的。

SQL> select to_char(.1,'999999990.99'),length(to_char(.1,'999999990.99')) from dual;

TO_CHAR(.1,'9 LENGTH(TO_CHAR(.1,'999999990.99'))

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

0.10                                 13

SQL> select to_char(.1,'fm9999999990.00') ,length(to_char(.1,'fm9999999990.00')) from dual;

TO_CHAR(.1,'FM LENGTH(TO_CHAR(.1,'FM9999999990.00'))

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

0.10                                               4

--用符合隔开来分辨。

SQL> select '>>'||TO_CHAR(123.1,'FM99999.99')||'<>'||TO_CHAR(123.1,'9999.99')||'<

'>>'||TO_CHAR '>>'||TO_CHA

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

>>123.1<>  123.10<<

第二种会有隐式的分隔。

所以根据具体的需要还是要区别对待,

默认保险起见还是用如下的方式

SQL> select to_char(.1,'fm9999999990.00') ,length(to_char(.1,'fm9999999990.00')) from dual;

TO_CHAR(.1,'FM LENGTH(TO_CHAR(.1,'FM9999999990.00'))

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

0.10                                               4

这样就可以自动去除前面的空格。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-748568/,如需转载,请注明出处,否则将追究法律责任。

oracle怎么小数中多余的零,关于小数中0的处理相关推荐

  1. matlab中如何求零极点,Matlab中绘制零极点

    <Matlab中绘制零极点>由会员分享,可在线阅读,更多相关<Matlab中绘制零极点(2页珍藏版)>请在人人文库网上搜索. 1.ZPLANE Z-plane zero-pol ...

  2. 正则表达式:去掉数字(整数、小数)前面多余的零

    方案1: 来源:http://zhidao.baidu.com/question/277893180.html如果是整数:去掉整数前的零 例如:0098765--->98765 如果是小数:去掉 ...

  3. 数字去除尾巴多余的零,且至少保留两位小数

    背景: 近期做开发时遇到的一个数字格式转换问题,mysql里金额,数字字段,类型都是decimal(16,8),返给前端格式: 1:去掉小数尾巴多余的0,如12.345000->12.345 2 ...

  4. 当小数遇上二进制——全面解析JS中的小数二进制计算(附赠0.1+0.2 !== 0.3问题解释)

    二进制小数如何转换为十进制 二进制转换十进制的方法是: 从二进制数的最低位开始,每一位乘以对应的2的幂数,然后将最终的结果小数部分与整数部分分别相加 对应的2的幂,以个位为0,向高位依次增1,向地位依 ...

  5. 去除ArcMap连接空间数据库中多余的属性表

    这个操作目前可能不具有可行性,但是为了完整性还是在下面讲一下吧.如有兴趣的小伙伴,可以按照下面的操作方式去尝试. 一.需求 去除ArcMap连接空间数据库中多余的属性表. PL/SQL中查询得到的内容 ...

  6. pta编程题python答案提交显示非零返回_PTA中提交Python3程序的一些套路

    0. FAQ whileTrue: raw=input()if raw == '':break print(sum(map(int, raw.split()))) 0.1 提交后提示"答案错 ...

  7. Python使用pandas设置数据列中float数据类型的有效小数位数、抑制科学计数法

    Python使用pandas设置数据列中float数据类型的有效小数位数.抑制科学计数法 目录

  8. oracle 哦【的【,清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦

    清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...

  9. 删除字符串中多余的空白字符和空行(C语言实现)

    要求:处理一个字符串,删除字符串中多余的空格.水平制表符和空行,并满足下列要求: (1)对原字符串只能进行一次扫描. (2)不允许申请新的空间. (3)处理后的字符串的首尾不能有空格.制表符和空行. ...

最新文章

  1. 关于ExtJS在使用下拉列表框的二级联动获取数据
  2. RfD-Net:基于语义实例重构的点云场景理解(CVPR2021)
  3. 浅析Linux线程调度
  4. Python第五课(字典)
  5. 最前线|阿里大文娱板块Q3营收同比增长20%,优酷及UC业务带动显著
  6. can‘t resolve symbol xxx
  7. 【月报】Java知音的一月汇总
  8. B - 数据结构实验之栈与队列二:一般算术表达式转换成后缀式
  9. 在Python中使用try-except-else是否是一种好习惯?
  10. asp:树型select菜单
  11. 软件需求规格说明书_4.软件需求最佳实践笔记 | 软件需求与需求工程
  12. 友情链接交换工具使用方法
  13. shell实现txt转换excel
  14. ROS机器人操作系统 优缺点分析
  15. 《系统集成项目管理》第十六章 变更管理
  16. vue3关闭语法错误提示
  17. (郭霖)Android图片加载框架最全解析(一),Glide的基本用法
  18. 计算机网络的分类 ppt,计算机网络的分类.ppt
  19. 机器学习常见损失函数,二元交叉熵,类别交叉熵,MSE,稀疏类别交叉熵
  20. elementui 上传请求头_element-ui上传组件多个文件同时上传请求一次后台接口(前后端代码版)...

热门文章

  1. python培训好学吗-python难学吗?为什么上了python培训还是学不会?
  2. python的软件叫什么-django中的app是指什么
  3. python培训比较好的机构-python哪家的培训比较好?
  4. python安装之后怎么打开-安装python后如何通过Python打开网页
  5. python教程是用什么博客写的-用Python和Pygame写游戏-从入门到精通(目录)
  6. python3安装步骤mac-Mac 安装Python3
  7. python电脑配置要求-Python--获取电脑配置信息--设计代码
  8. python入门代码示例-Python入门100个实例(14)——换行符和制表符
  9. python代码格式-pyhon代码设计格式指南
  10. python快速入门答案-python快速入门基础知识