oracle中to_char函数转换数字格式不正确的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32711825/article/details/79879073

今天在工作中遇到将金额的number类型转换成char类型,但是使用to_char()函数显示的结果一直期望的结果。经过在网上查阅一番,总结如下:

我们使用Oracle 的SQL 函数 to_char可以实现这种转换。
这个函数用来将DATE或NUMBER数据类型转换成可显示的字符串,格式是to_char(number_type, format_mask)。

  1. 格式’999.99’,9表示对应的某一个指定位数的值,如果是值是0则忽略不显示,如果指定位数没有值,则以空格表示
  2. 格式’0990.990’,0表示对应的某一个指定位数的值,如果是值是0则显示为0,如果是没有值也显示为0
  3. 格式’FM990.90’,FM表示将显示出来的字符串定位数没有值而显示的空格清理掉,作用和ltrim类似
SELECT TO_CHAR( 00.0001, 'FM99990.0099' ) price FROM dual;  --输出0.0001
SELECT TO_CHAR( 1001.000, 'FM99990.0099' ) price FROM dual;	--输出1001.00

猜你喜欢

转载自blog.csdn.net/qq_32711825/article/details/79879073