通貨

CURRENCY 関数は、ユーザーが指定した通貨記号、さらに指定された場合には、借方または 貸方を示す 3 つの記号のうちの 1 つを用いた総額として形式設定された値を戻します。

構文図を読むビジュアルシンタックスダイアグラムをスキップするCURRENCY(入力金額、通貨記号、クレジット/デビット表示)

スキーマは DSN8 です。

入力金額
形式設定される値を指定する式。 この式は浮動小数点値でなければなりません。
通貨記号
通貨記号を指定する文字ストリング。 このストリングは、データ・タイプが VARCHAR で、実際の長さが 2 バイト以下でなければ なりません。
クレジット/デビット表示
値が負か正かを示すために、結果と一緒に組み込まれる記号を指定する文字ストリング。 このストリングは、データ・タイプが VARCHAR で、実際の長さが 5 バイト以下でなければ なりません。 credit/debit-indicator が指定されなかった場合、あるいは値が NULL である場合、結果は標識記号を付けずに形式設定されます。 以下の記号を指定することができます。
CR/DB
銀行スタイル。 負の入力値には「DB」が付けられ、正の入力値には「CR」が付けられます。
+/-
算術計算スタイル。 負の入力値には接頭部として負符号「-」が付けられ、正の値は記号を付けずに 形式設定されます。
(/)
会計スタイル。 負の入力値は括弧「( )」で囲まれ、正の値は記号を付けずに形式設定されます。

関数の結果は VARCHAR(19) です。

CURRENCY 関数では、C 言語関数 strfmon を使用して金額の形式設定を容易にし、setlocale を使用してローカル規則用に strfmon を初期化します。 setlocale が失敗すると、CURRENCY 関数はエラーを戻します。

次の表に、CURRENCY の外部プログラム名および特定名を示します。 特定名は、関数への入力によって異なります。
表 1. CURRENCY の外部プログラム名および特定名
入力引数 外部名 特定名
input-amount
通貨記号
DSN8DUCY DSN8.DSN8DUCYFV
入力
金額通貨記号
クレジット/デビット表示
DSN8DUCY DSN8.DSN8DUCYFVV
例1 : -1234.56 を米ドル建ての金額で表現し、銀行様式の借り方/貸し方表示記号を使用して、その値が負か正かを表す。
   VALUES DSN8.CURRENCY( -1234.56,'$','CR/DB' );
関数の結果は '$1,234.56 DB' です。
例2 : -1234.56 をドイツマルク建ての金額で表現し、その値が負か正かを表すために、会計スタイルの借り方/貸し方表示を使用する。
   VALUES DSN8.CURRENCY( -1234.56,'DM','(/)' );
関数の結果は '(DM 1,234.56)' です。
例3 : -1234.56 をカナダドルで金額として表し、その値が負か正かを表すために、会計スタイルの借り方/貸し方表示を使用する。
   VALUES DSN8.CURRENCY( -1234.56,'CD','+/-' );
関数の結果は '-CD 1,234.56' です。