Oracle将小于1的数字to_char转成字符串后,个位0丢失的解决办法

  • Post author:
  • Post category:其他




个位0丢失的SQL:
to_char(0.52)

转换后为:

.52



防止个位0丢失SQL代码如下:
rtrim(to_char(0.52,'fm9999999990.99'),'.')

转换后为:

0.52

在这里插入图片描述

  • 0.52为需要to_char的数字
  • fm去除字符串前的空格
  • 9999999990.99表示10位数字,亿位…千位百位十位

    没有数字时不显示


    标识9

    ,个位数

    标识0


    永久显示

    ,小数

    没有数字时不显示


    标识9
  • 如果数字位数超过10位则返回结果为

    #############

    [符号#的个数由

    原字符串长度

    决定,比如:12345678901.01则返回13个#号]
  • 如果需要永久显示小数,则用

    标识0

    来表示小数位数,如:0.00

  • rtrim(str, '.')

    去掉右侧的小数点符号,

    用于没有小数的整数



版权声明:本文为qq_43320309原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。