プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
12cリリース1 (12.1)
B71278-13
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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(文字)」の最初の例を比較してください。

次の例では、出力で通貨記号の左側に空白埋めが行われます。オプションの数値書式fmtでは、Lは各国通貨記号を、MIは後に付くマイナス記号(-)を表します。数値書式要素の完全なリストは、「表2-13 数値書式要素」を参照してください。例は、セッション・パラメータNLS_TERRITORYAMERICAに設定されたセッションの出力を示します。

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

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

次の例では、NLS_CURRENCYには、L数値書式要素について各国通貨記号として使用する文字列を指定します。NLS_NUMERIC_CHARACTERSは、カンマをD数値書式要素の小数点区切りとして使用する文字に指定し、ピリオドをG数値書式要素のグループ区切りとして使用する文字に指定します。これらの文字は、ドイツなどの多くの国で想定されます。

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

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

次の例では、NLS_ISO_CURRENCYは、C数値書式要素のPOLAND地域に国際通貨記号を使用するようデータベースに指示します。

SELECT TO_CHAR(-10000,'99G999D99C',
   'NLS_NUMERIC_CHARACTERS = '',.''
   NLS_ISO_CURRENCY=POLAND') "Amount"
     FROM DUAL;

Amount
-----------------
    -10.000,00PLN