问题描述 
oracle如果存储number(20,2)数据,0数据库中为0.00,2.1数据库中为2.10,3.88存储为3.88, 
如果直接从数据库中取出对应显示为: 
0 2.1 3.88 保留两位小数会发生变化,如果需要和数据库保持一致:


解决方法 
保留两位有效小数的方法:

SELECT TO_CHAR(3.2,'FM99999999999990D00') FROM DUAL

参考实例:


-- 数字转字符串格式
select to_char(a, 'FM9990.00')"FM9990D00",to_char(a, '99D90')"99D90",to_char(a, 'FM90D99')"FM90D99",rtrim(to_char(a, 'FM999990D99'), to_char(0, 'D'))"FM999990D99"from (select 50 a from dualunion all select 50.57 from dualunion all select 5.57 from dualunion all select 0.35 from dualunion all select 0.4 from dual
)
     FM9990D00   99D90   FM90D99 FM999990D99
1   50.00       50.00   50.      50
2   50.57       50.57   50.57    50.57
3   5.57        5.57    5.57     5.57
4   0.35         .35    0.35     0.35
5   0.40         .40    0.4  0.4

分析

  1. 【FM9990.00】格式,皆满足;代码更简洁;与【rtrim(to_char(a, 'FM999990D99'), to_char(0, 'D'))"FM999990D99"】的区别整数是否保留小数。
  2. 【99D90】格式,问题:小数位小于1,0则不显示。
  3. 【FM90D99】格式,问题:小数位为0,则不显示。
  4. 【rtrim(to_char(a, 'FM999990D99'), to_char(0, 'D'))"FM999990D99"】格式,缺点:代码过于复杂化。

知悉


  1. RTRIM(c1,[,c2])
    【功能】删除右边出现的字符串
    【参数】C1 字符串
    c2 追加字符串,默认为空格
    【返回】字符型
    【示例】
    SQL> select RTRIM('gao qian jingXXXX','X') text from dual;
    text
    -----------------
    gao qian jing
    【相似】LTRIM()删除左边出现的字符串
    【相反】RPAD() 在列的右边粘贴字符
  2. 【0】在对应位置返回对应的字符,如果没有则以'0'填充. to_char(0.34,'9,9,9,0.​0.34';to_char(1234,'9999.00')='1234.00'; 注意事项:这是一个强制的符号,对应位没有,则以'o'填充,这是9很大不同地方 。
  3. 【9】在小数位,则表示转换为对应字符,如果没有则以0表示;在整数位,没有对应则不填充字符. to_char(123,'999.99')=123.00; TO_CHAR(123,'99999.9')=123.0; 注意事项:对于0和9而言,如果格式的位数不如数字的位数多,会返回'#'. 譬如to_char(12345,'9999')='#####' 。
  4. 【D】(ISO 小数位符号) '999D99' 这是"点号"的国际版本(ISO),作用等同于点号,也是只能出现一次.所不同的是,数据库会根据NLS_NUMERIC_CHARACTER的参数值来设置内容.默认的这个值是点号。
  5. 【FM】代表:删除如果是因9带来的空格,则删除之。

Oracle 小数格式化字符串显示 (转)相关推荐

  1. oracle将字符串的日期格式化,oracle格式化字符串 oracle 怎么把字符串转换成日期...

    Oracle数据库中如何将字符串格式化为日期 可以用 to_date('日期类型字符串','要转化的日期类型')函数进行日期格式转换 sql:select to_date('1990-12-12 12 ...

  2. oracle 时间格式化 to——datetime,精通 Oracle+Python,第 2 部分:处理时间和日期

    作者:Przemyslaw Piotrowski Oracle 和 Python 的日期处理介绍 2007 年 9 月发布 从 Python 2.4 版开始,cx_Oracle 自身可以处理 DATE ...

  3. 零基础入门学习Python(14)-格式化字符串

    什么是格式化字符串 格式化字符串就是按照统一的规格去输出一个字符串,如果规格不统一,就很可能造成误会 format()方法 接受位置参数和关键字参数两种参数 二者均传递到一个replacement的字 ...

  4. python转化为字符串格式_Python格式化字符串~转

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...

  5. Oracle to_char格式化函数

    Oracle to_char格式化函数 Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串 ...

  6. 使用C#格式化字符串

    使用C#格式化字符串 1 前言 如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template Library(WTL)的CString ...

  7. 使用C#格式化字符串 1

    使用C#格式化字符串 1 前言 如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template Library(WTL)的CString ...

  8. Java学习笔记(七)--格式化字符串及格式输出

    一.格式化字符串 String 类的静态 format() 方法用于创建格式化的字符串. 1.format(String format, Object···args) 该方法使用指定的格式字符串和参数 ...

  9. Python格式化字符串知多少

    字符串格式化相当于字符串模板.也就是说,如果一个字符串有一部分是固定的,而另一部分是动态变化的,那么就可以将固定的部分做成模板,然后那些动态变化的部分使用字符串格式化操作符(%) 替换. 如一句问候语 ...

最新文章

  1. 三层架构与四大天王之——查
  2. Apple Mac OS X每日一技巧025:小学算术好的快帮我⋯把Spotlight当计算器,结果杯具了...
  3. 使用ffmpeg合并视频文件的三种方法
  4. stream pipe的原理及简化源码分析
  5. 框架学习八:二维码(Zxing)
  6. 前端工具 git笔记
  7. c语言用户给顺序表输入值,C语言与数据结构实验指导(删减程序版)课案.docx
  8. 广义相对论-学习记录4-第三章-张量分析与黎曼几何1
  9. JAVA博客和书籍推荐
  10. XUI 熟练使用之(五) -----------底部弹出对话框
  11. Navicat Premium 15破解
  12. 『原创』老范的Bug跟踪管理系统0.1 Alpha——介绍篇
  13. 什么是前后端分离技术?
  14. Android Styler插件
  15. phpstorm连接mysql
  16. 利用卷积神经网络(CNN)构造社区问答系统
  17. 计算机有没有博士学位造假,72岁老人获博士学位遭质疑学历造假 校方辟谣--人民网教育频道--人民网...
  18. 一种简单、安全的Dota全图新思路 作者:LC 【转】
  19. php程序打包exe文件下载,手把手教你把前端代码打包成msi和exe文件
  20. python乌龟画五角星_使用Python的turtle模块画五角星

热门文章

  1. jquery日期选择插件
  2. 史上最完美的 Typora 教程
  3. 【图像去噪】基于最小二乘方滤波实现图像去噪含Matlab源码
  4. java基础学习 day34(StringBuilder,链式编程)
  5. Keras : 训练heart心脏病诊断训练集并测试
  6. PC端无线连接打印机
  7. 电影投资普通小白参与能获得多少分红?分红有规则吗?
  8. 使用树莓派+arduino+采集卡+frp实现异地控制电视机顶盒
  9. 10万+爆文怎么写?这些软文写作技巧你掌握了吗?
  10. RHCSA操作第四次作业