知识大全 Oracle小数点的实际保留问题的4方案

Posted 小数点

篇首语:有了坚定的意志,就等于给双脚添了一对翅膀。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle小数点的实际保留问题的4方案相关的知识,希望对你有一定的参考价值。

Oracle小数点的实际保留问题的4方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  以下的文章主要是讲述Oracle小数点的实际保留问题 如果你有相关的业务清单有提取要求的话 我们需要使用到百分率 通常的情况下 需要对其保留两位小数 其实我们只用round就可以实现(round(_data ) ) 但是格式不是很工整

  对格式要求不严谨的情况下使用round即可 以下是网络搜索到的处理方法

  方法一 使用to_char的fm格式

   to_char(round(data amount ) FM ) as amount

  不足之处是 如果数值是 的话 会显示为 而不是

  另一需要注意的是 格式中Oracle小数点左边 的个数要够多 否则查询的数字会显示为n个符号 #

  解决方式如下

   select decode(salary (to_char(round(salary ) fm ))) from can_do;

  方法二 使用case when then else end进行各种情况的判断处理

   case

   when instr(to_char(data amount) ) < then

   data amount ||

   when instr(to_char(data amount) ) + = length(data amount) then

   data amount ||

   else

   to_char(round(data amount ))

   end as amount_format

  方法三 可以使用Oracle自带的参数设置

  lumn amount format l

  此方法的不足是 format中的Oracle小数点左面的 的个数要已知 否则会出现超过的数字显示为########的情况

  另外一个问题是 使用column时 设置生效是session级还是system级 需要注意

  也许某张表的数值列不总是要求所有的地方显示时 都是Oracle小数点后两位的格式

  此时只能使用session级 但是有个数据库连接会话超时的问题 如果不是使用到system级 不建议使用该方法

  方法四 使用to_char+trim的方式 如下

   select trim(to_char( )) from dual;

  或者

   select ltrim(trim(to_char( )) ) from dual;

  此处使用了 个 或者 个 的格式 建议使用 个 的方式 方便些 方法四的不足之处是

  如果数值是 的话 转化之后为 而不是 补救措施是 decode一下

  另一需要注意的是 格式中Oracle小数点左边 或者 的个数要够多 负责查询的数字会显示为n个符号 #

  如下

   select decode

  (salary trim(to_char(salary ))) from can_do;

  或者

   select decode

  (salary ltrim(trim(to_char(salary )) )) from can_do;

  结论 建议使用方法四中的trim+to_char的方式或者方法一的补救之后的方式 而且最好使用Oracle小数点左边n个 的方式 不要使用 的方式 否则 要多一步trim处理

  即

   select decode(salary

  trim(to_char(salary ))) from can_do;

  或者

   select decode(salary

  (to_char(round(salary ) fm ))) from can_do;

cha138/Article/program/Oracle/201311/18607

相关参考

知识大全 使用java代码实现保留小数点的位数

因为个人应用的需要所以就写个简单点的了希望大家都给给建议共同学习需要的朋友也可以参考下 复制代码代码如下:cha138/Article/program/Java/JSP/20131

知识大全 Oracle外键与其主键的实际应用方案

Oracle外键与其主键的实际应用方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以下的文章

知识大全 怎么把excel里的小数位都四舍五入至只保留一位小数 比如1.35 保留成1.4 谢谢了 坐等呢

怎么把excel里的小数位都四舍五入至只保留一位小数比如1.35保留成1.4谢谢了坐等呢若是现成的结果选择需要显示小数的列单元格格式数值小数位选1若是更改公式=round(原有公式,1)0.357四舍

知识大全 25又5分之3和2又4分之3化成小数是多少

25又5分之3和2又4分之3化成小数是多少25.62.754又6分之5和2又3分之2化成小数是多少(保留2位数)4.83和2.674又5分之2化成小数是多少4又5分之2化成小数是(4.4);4+2/5

知识大全 js保留两位小数使用toFixed实现

js保留两位小数使用toFixed实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!直接使用Mat

知识大全 asp.net小数点四舍五入的方法

  只要求保留N位不四舍入  floatf=finti=(int)(f*)f=(float)(i*)/  保留N位四舍五入  decimald=decimalRound(decimalParse())

知识大全 Oracle数据库字符集问题解决方案大全

Oracle数据库字符集问题解决方案大全  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在国内外

知识大全 oracle 分页问题解决方案

  昨天做完项目后让测试测试了一把测试说分页查询貌似不起作用翻到第页以后看到的数据结果都是相同的当时我就觉得很纳闷不可能啊分页组件应该是好的咋可能有问题呢带着疑问我打开了自己的ide在自己的机器上跑了

知识大全 输入一个正整数n(1

C语言题目:输入一个正整数n(1以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!C语言题目:输入一个正整数n(1<n≤1

张小雨需要自己查询资料、设计方案,并应用方案来解决某一个实际问题。这一任务对应的认知要求是

张小雨需要自己查询资料、设计方案,并应用方案来解决某一个实际问题。这一任务对应的认知要求是_____。A、理解B、应用C、创造D、评价答案:B解析:将所学习的基本内容和方法,通过自学与解决实际问题来提