通貨
CURRENCY 関数は、ユーザーが指定した通貨記号、さらに指定された場合には、借方または 貸方を示す 3 つの記号のうちの 1 つを用いた総額として形式設定された値を戻します。
スキーマは DSN8 です。
- 入力金額
- 形式設定される値を指定する式。 この式は浮動小数点値でなければなりません。
- 通貨記号
- 通貨記号を指定する文字ストリング。 このストリングは、データ・タイプが VARCHAR で、実際の長さが 2 バイト以下でなければ なりません。
- クレジット/デビット表示
- 値が負か正かを示すために、結果と一緒に組み込まれる記号を指定する文字ストリング。 このストリングは、データ・タイプが VARCHAR で、実際の長さが 5 バイト以下でなければ
なりません。 credit/debit-indicator が指定されなかった場合、あるいは値が NULL である場合、結果は標識記号を付けずに形式設定されます。 以下の記号を指定することができます。
- CR/DB
- 銀行スタイル。 負の入力値には「DB」が付けられ、正の入力値には「CR」が付けられます。
- +/-
- 算術計算スタイル。 負の入力値には接頭部として負符号「-」が付けられ、正の値は記号を付けずに 形式設定されます。
- (/)
- 会計スタイル。 負の入力値は括弧「( )」で囲まれ、正の値は記号を付けずに形式設定されます。
関数の結果は VARCHAR(19) です。
CURRENCY 関数では、C 言語関数 strfmon を使用して金額の形式設定を容易にし、setlocale を使用してローカル規則用に strfmon を初期化します。 setlocale が失敗すると、CURRENCY 関数はエラーを戻します。
次の表に、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' です。