TO_NCHARファンクションは、TEXT式、日付または数値を、指定した書式でNTEXT式に変換するファンクションです。このファンクションは通常、出力データの書式の設定に使用されます。
構文
TO_NCHAR(ntext-exp)
または
TO_NCHAR(datetime-exp, [datetime-fmt,] [option setting]
または
TO_NCHAR(num-exp, [num-fmt,] [nlsparams]
パラメータ
NTEXTに変換されるTEXT式。
NTEXTに変換されるDATETIME式。
日時書式テンプレートを指定するテキスト式。このテンプレートでDATETIMEデータ型からNTEXTへの変換方法を指定します。日時書式テンプレートの詳細は、表9-4「日時の書式要素」を参照してください。datetime-fmtのデフォルト値は、NLS_DATE_FORMATオプションによって制御されます。
現在セッションで有効な設定を一時的に上書きするOLAPオプション(NLS_DATE_LANGUAGEなど)およびその新しい設定。一般に、このオプションにはdatetime-expの翻訳対象の言語を指定します。例8-143「デフォルト言語および日付書式の指定」を参照してください。
他のオプションを設定するオプションは指定しないでください。たとえば、NLS_LANGUAGEやNLS_TERRITORYは設定せずに、かわりにNLS_DATE_LANGUAGEを設定してください。TO_NCHARは、文の実行中にのみ新しい値を保持できるように、指定したオプションの現行の設定を保存およびリストアしますが、そのオプションの変更結果を保存およびリストアできません。たとえば、NLS_TERRITORYは、NLS_DATE_FORMATE、NLS_NUMERIC_CHARACTERS、NLS_CURRENCY、NLS_CALENDARなどのオプションの値を制御します。TO_NCHARに対するコールでNLS_TERRITORYの値を変更した場合、すべてのオプションはそれらの領域に適したデフォルト値に2回リセットされます(1回目はNLS_TERRITORYがTO_NCHAR文の実行中にその新しい値に設定されたとき、2回目はNLS_TERRITORYの保存された値がリストアされたとき)。
NTEXTに変換される数式。
数値の書式モデルを示すテキスト式。このモデルは、数値データ型(NUMBER、INTEGER、SHORTINTEGER、LONGINTEGER、DECIMAL、SHORTDECIMAL)からTEXTへの変換の実行方法を指定します。
関連項目: 『Oracle Database SQL言語リファレンス』の数値書式モデルに関する説明 |
数値のデフォルトの書式モデルでは、NLS_NUMERIC_CHARACTERSオプションにより識別される小数点と3桁区切りが使用されます。
num-expで使用される3桁区切り、小数点および通貨記号を指定するテキスト式。この式には、次の1つ以上のパラメータを含め、カンマで区切ります。
NLS_CURRENCY symbol
NLS_ISO_CURRENCY territory
NLS_NUMERIC_CHARACTERS dg
各国通貨記号を指定するテキスト式。11文字以上を指定することはできません。
ISO通貨記号が使用されている地域を示すテキスト式。
小数点(d
)および3桁区切り(g
)を示す、2つの異なるシングルバイト文字で構成されるテキスト式。
これらのパラメータは、NLS_CURRENCY、NLS_ISO_CURRENCYおよびNLS_NUMERIC_CHARACTERSオプションにより指定されるデフォルト値を上書きします。
例
例8-141 日付の変換
次の文では、今日の日付を変換し、書式を指定します。
SHOW TO_NCHAR(SYSDATE, 'Month DD, YYYY HH24:MI:SS')
指定した日付書式に従った日付と時刻が表示されます。
November 30, 2000 10:01:29
例8-142 数値データのNTEXTデータへの変換
この文では、数値をNTEXTに変換し、小数点として空白を、3桁区切りとしてピリオドを指定します。
SHOW TO_NCHAR(1013.50, NA, NLS_NUMERIC_CHARACTERS ' .')
この結果、値1013.50は、次のように表示されます。
1.013 50
例8-143 デフォルト言語および日付書式の指定
次の文では、デフォルトの言語をスペイン語に設定し、新しい日付書式を指定します。
NLS_DATE_LANGUAGE = 'spanish' NLS_DATE_FORMAT = 'Day: Month dd, yyyy HH:MI:SS am'
次の文
SHOW TO_NCHAR(SYSDATE)
によって、次のように現在の日付と時刻がスペイン語で表示されます。
Viernes : Diciembre 01, 2000 08:21:17 AM
NLS_DATE_LANGUAGEオプションは、文の実行中に言語を変更します。次の文
SHOW TO_NCHAR(SYSDATE, NA, NLS_DATE_LANGUAGE 'german')
によって、次のように日付と時刻がドイツ語で表示されます。
Freitag : Dezember 01, 2000 08:26:00 AM