oracle to_Char fm 函数

oracle to_Char fm 函数,第1张

概述近期在使用oracle to_char函数处理浮点数时发现有坑,这里做个小结: 网上可以找到关于to_char中使用fm9990.0099中的相关解释: 0表示:如果参数(double或者float类型)存在数字就显示数字,不存在数字就显示0 9表示:如果参数(double或者float类型)存在数字就显示数字,不存在数字就显示空格 FM表示:将9带来的空格删除 下面通过具体代码进行相关验证 -- @H_403_6@

近期在使用oracle to_char函数处理浮点数时发现有坑,这里做个小结:

网上可以找到关于to_char中使用fm9990.0099中的相关解释:
0表示:如果参数(double或者float类型)存在数字就显示数字,不存在数字就显示0 9表示:如果参数(double或者float类型)存在数字就显示数字,不存在数字就显示空格 FM表示:将9带来的空格删除
  
下面通过具体代码进行相关验证
--sql示例代码:




With Tmp As (Select 2312320.012 n From dual Union All Select 0.012322 n From dual Union All Select 0.012564 n From dual Union All Select -0.012 n From dual Union All Select -10023 n From dual Union All Select 8989898 n From dual)Select --全部为 9 To_Char(t.n,‘9999999999.9999999‘) all_9,--全部为 9 同时使用 FM To_Char(t.n,‘FM999999999999999.9999999‘) all_FM9,--全部为 0 To_Char(t.n,‘000000000.0000000‘) all_0,--全部为 0 同时使用 FM To_Char(t.n,‘FM000000000.0000000‘) all_FM0,--个位开始向右使用 0 向左使用9 To_Char(t.n,‘9999999990.0000000‘) some9one0,--个位开始向右使用 0 向左使用9 同时使用FM To_Char(t.n,‘FM999999999999990.00000000‘) some9one0P0_FM,--个位使用 0 同时使用FM To_Char(t.n,‘FM999999999999990.99999999‘) some9one0P9_FM,--个位使用 0 前四位小数位使用 0 同时使用FM To_Char(t.n,‘FM999999999999990.0000999‘) some9one0P09_FM From tmp t;



--执行结果:

--总结:

1、9在不同的地方可能会使用不同的占位符:整数位使用空格;小数位有有效数时使用0,无有效数时使用空格;

2、9对于绝对值小于1的小数的个位会处理成空格

3、FM只能用来删除9所产生的多余的占位符(空格或0),对于0产生的占位符无效。
@H_502_50@

 

--思考:

四舍五入可以通过控制9或0的个数实现。

总结

以上是内存溢出为你收集整理的oracle to_Char fm 函数全部内容,希望文章能够帮你解决oracle to_Char fm 函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存