web-dev-qa-db-ja.com

Oracle SQL-小数点をコンマに変更

私はブラジルにいて、通貨の形式は「R $ 9.999,00」のようなものです。

フィールドを選択して、戻りの形式を変更しようとしています。しかし、私にはそれができないようです。私はもう試した:

ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ',.';

そして

SELECT to_char(10,'9,999.00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL

それらのどれもうまくいきませんでした。それが私のクライアントであるかどうか(私はsqldeveloperを使用してUbuntuにいる)、または私が何か間違っているかどうかはわかりません。

何か案は?

15
Andre Cardoso

使用する

SELECT to_char(10,'9G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL

Gは桁区切り記号、Dは小数点区切り記号

20
Petr Pribyl

書式マスクが間違っていると思います。この書式マスクを試してください:

SELECT to_char(10000,'99G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL

より大きい数の場合は、フォーマットマスクで先頭の「9」の正しい数を使用するようにしてください

4

私は問題を解決しました:

SELECT TO_CHAR(1000000000,'999G999G999G999D99','NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;

数十億で数値をフォーマットします。それは役立つと思います。

2
ddsultan