ゼロになると小数点以下2桁に丸めるたびに丸める必要はありません。
SELECT ROUND(COLUMN_NAME,2) FROM ....
それは私に与えている
COLUMN_NAME
92
でも私はしたい
COLUMN_NAME
92.00
TO_CHARを使用しましたが、うまくいきました
ROUND(TO_CHAR(COLUMN_NAME),2)
みんなありがとう!
tO_CHAR関数を使用して結果を変換することができます
例えば.
SELECT TO_CHAR(92, '99.99') AS RES FROM DUAL
SELECT TO_CHAR(92.258, '99.99') AS RES FROM DUAL
それが役に立てば幸い
クエリでの書式設定は避けてください。データを未加工形式で返し、受信側アプリケーション(レポートサービスやエンドユーザーアプリなど)にフォーマット、つまり丸めなどを行わせる必要があります。
サーバー内のデータをフォーマットすると、データをさらに処理することが難しくなります(不可能になることさえあります)。通常、テーブルをエクスポートするか、合計、平均などの集計を行います。数字は文字列(varchar)として到着するため、通常、それらをさらに処理する簡単な方法はありません。一部のレポート設計者は、これらの「番号」を集約するオプションの提供を拒否することさえあります。
また、エンドユーザーには、自分のPCではなく、サーバーの国固有のフォーマットが表示されます。
また、丸めの問題も考慮してください。サーバーで値を四捨五入した後、さらに計算を行うと(クライアントが数値文字列を数値に戻すことができると仮定すると)、誤った結果が得られます。
そのためにFORMATオプションを指定してCOLUMNコマンドを使用してみてください。
COLUMN COLUMN_NAME FORMAT 99.99
SELECT COLUMN_NAME FROM ....
これも機能します。以下のステートメントは、小数点以下2桁に丸めます。
デュアルからSELECT ROUND(92.258,2);