構文
to_char_number::=

用途
TO_CHAR(数値)は、nを、オプションの数値書式fmtを使用してVARCHAR2データ型の値に変換します。n値には、NUMBER、BINARY_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書式モデル修飾子による文字データと書式モデルの一致」を参照してください。