Oracle Databaseでは、次のNLSパラメータを使用して、現在のセッションで通貨がどのように表示されるかを決定できます。
-
NLS_CURRENCY
L
の現地通貨記号として使用する文字列を指定します 数値フォーマット要素。 -
NLS_ISO_CURRENCY
C
に何を使用するかを決定します フォーマット要素。 -
NLS_DUAL_CURRENCY
U
に何を使用するかを指定します フォーマット要素。
これらのデフォルト値は、NLS_TERRITORY
によって決定されます。 パラメータ。
L
、C
、およびU
数値形式の要素は、TO_CHAR()
などの関数で使用できます。 数値を通貨としてフォーマットします。
通貨記号を返す方法
V$NLS_PARAMETERS
にクエリを実行すると、現在のセッションで使用されている通貨記号を確認できます。 ビュー。
例:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_TERRITORY',
'NLS_CURRENCY',
'NLS_ISO_CURRENCY',
'NLS_DUAL_CURRENCY'
);
結果:
PARAMETER VALUE ____________________ __________ NLS_TERRITORY GERMANY NLS_CURRENCY € NLS_ISO_CURRENCY GERMANY NLS_DUAL_CURRENCY €
これらのパラメータのデフォルト値は、NLS_TERRITORY
によって導出されます。 パラメータ。そのパラメータの現在の設定は次のとおりです。
SELECT VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER = 'NLS_TERRITORY';
結果:
GERMANY
そのパラメーターを変更することにより、他のパラメーターの値がそのテリトリーのデフォルト値に更新されます(新しいテリトリーが特定のパラメーターの古いテリトリーと同じ値を使用する場合を除く)。
ただし、各パラメータを直接変更することもできます。これにより、その地域のデフォルトの通貨記号とは異なる通貨記号を使用できます。
動作中の要素のフォーマット
上記のNLSパラメータを使用できる例を次に示します。
ALTER SESSION SET NLS_TERRITORY = 'DENMARK';
SELECT
TO_CHAR(45, 'L99') AS "L",
TO_CHAR(45, 'C99') AS "C",
TO_CHAR(45, 'U99') AS "U"
FROM DUAL;
結果:
L C U ________________ _____________ ______________ kr45 DKK45 €45