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

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

转换后为:.52

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

转换后为:0.52

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

  • 0.52为需要to_char的数字
  • fm去除字符串前的空格
  • 9999999990.99表示10位数字,亿位…千位百位十位没有数字时不显示标识9,个位数标识0永久显示,小数没有数字时不显示标识9
  • 如果数字位数超过10位则返回结果为#############[符号#的个数由原字符串长度决定,比如:12345678901.01则返回13个#号]
  • 如果需要永久显示小数,则用标识0来表示小数位数,如:0.00
  • rtrim(str, '.') 去掉右侧的小数点符号,用于没有小数的整数

你可能感兴趣的:(记录一下,oracle,数据库,database)