プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

TO_CHAR(数値)

構文

to_char_number::=

to_char_number.gifの説明が続きます。
図「to_char_number.gif」の説明

用途

TO_CHAR(数値)は、nを、オプションの数値書式fmtを使用してVARCHAR2データ型の値に変換します。n値には、NUMBERBINARY_FLOATまたはBINARY_DOUBLE型の値を指定できます。fmtを指定しないと、nの有効桁数を保持するために十分な長さのVARCHAR2値に変換されます。

nが負の場合、書式が適用された後で符号が適用されます。したがって、TO_CHAR(-1, '$9')は、$-1ではなく-$1を戻します。

数値書式の詳細は、「書式モデル」を参照してください。

'nlsparam'引数には、数値書式要素によって戻される次の文字を指定します。

この引数は、次の書式で指定します。

'NLS_NUMERIC_CHARACTERS = ''dg''
   NLS_CURRENCY = ''text''
   NLS_ISO_CURRENCY = territory '

文字dおよびgは、それぞれ小数点文字および桁区切りを表します。これらは、異なるシングルバイト文字である必要があります。引用符付き文字列の中では、パラメータ値を囲む一重引用符を2つ使用する必要があります。通貨記号には10文字使用できます。

'nlsparam'またはパラメータのいずれか1つを省略すると、このファンクションはセッションのデフォルト・パラメータ値を使用します。

次の文は、暗黙的な変換を使用して、文字列と数値を数値に結合します。

SELECT TO_CHAR('01110' + 1) FROM DUAL;

TO_C
----
1111

この例と、「TO_CHAR(文字)」の最初の例を比較してください。

次の例では、出力で通貨記号の左側に空白埋めが行われます。

SELECT TO_CHAR(-10000,'L99G999D99MI') "Amount"
     FROM DUAL;

Amount
--------------
  $10,000.00-

SELECT TO_CHAR(-10000,'L99G999D99MI',
   'NLS_NUMERIC_CHARACTERS = '',.''
   NLS_CURRENCY = ''AusDollars'' ') "Amount"
     FROM DUAL;

Amount
-------------------
AusDollars10.000,00-

オプションの数値書式fmtでは、Lは各国通貨記号を、MIは後に付くマイナス記号(-)を表します。すべての数値書式要素のリストは、表3-17「FX書式モデル修飾子による文字データと書式モデルの一致」を参照してください。