テーブルに 0.0821 という値があり、それを 8.21 に変換したいと考えています。
私のSQLクエリはto_char(round(prdll_yr2.rate_chg_pct_qty *100 ),'9.99')
ただし、8.21 ではなく 8.00 が返されます。
to_char(round(0.0821 *100,2 ),'9.99')
to_char(round(prdll_yr2.rate_chg_pct_qty *100,2 ),'9.99')
ラウンドに表示する小数点以下の桁数がありません...省略した場合、デフォルトで0になります
または例として:
select to_char(round(0.0821 *100,2 ),'9.99') from dual;
結果: 8.21
select to_char(round(0.0821 *100),'9.99') from dual;
結果: 8.00
-----------------新しい情報が与えられました:------------------ ----------
to_char(round(0.0821 *100,2 ),'9,999.99')
9,999.99形式 を、データベースで許可されている位取りと精度に等しくなるように調整します。したがって、値が Numeric(9,5) の場合、これは 4 つの先頭の数字とそれに続く 5 つの小数点以下の桁数を意味します。100 を掛けているため、最大値は小数点の 6 桁前にあるため、999,999.99 の形式と 3 番目の小数点は「丸め」になります。