ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

TO_DATE

TO_DATEファンクションは、書式が設定されたTEXTまたはNTEXT式を、DATETIME値に変換するファンクションです。

戻り値

DATETIME

構文

TO_DATE(text-exp, [fmt,] [option setting])

パラメータ

text-exp

変換する日付を含むテキスト式。式には、TEXTまたはNTEXTデータ型を使用できます。NTEXT値を日付として解釈できない場合は、NTEXTからの変換は不適切な結果となります。

fmt

日時書式テンプレートを指定するテキスト式。このテンプレートでテキストからDATETIMEへの変換方法を指定します。日時書式テンプレートの詳細は、表9-4「日時の書式要素」を参照してください。

option setting

現在セッションで有効な設定を一時的に上書きするOLAPオプション(NLS_DATE_LANGUAGEなど)およびその新しい設定。通常、このオプションはtext-expの言語がセッションの言語と異なる場合にその言語を指定します。例8-140「デフォルト言語および日付書式の指定」を参照してください。

他のオプションを設定するオプションは指定しないでください。たとえば、NLS_LANGUAGEやNLS_TERRITORYは設定せず、かわりにNLS_DATE_LANGUAGEを設定してください。TO_DATEは、文の実行中にのみ新しい値を保持できるように、指定したオプションの現行の設定を保存およびリストアしますが、そのオプションの変更結果を保存およびリストアできません。たとえば、NLS_TERRITORYは、NLS_DATE_FORMAT、NLS_NUMERIC_CHARACTERS、NLS_CURRENCY、NLS_CALENDARなどの値およびその他のオプションを制御します。TO_DATEに対するコールでNLS_TERRITORYの値を変更した場合、すべてのオプションはそれらの領域に適したデフォルト値に2回リセットされます(1回目はNLS_TERRITORYがTO_DATE文の実行中にその新しい値に設定されたとき、2回目はNLS_TERRITORYの保存された値がリストアされたとき)。

使用上の注意

大文字の使用

書式要素において単語、略称またはローマ数字で大文字が使用されると、対応する大文字が戻り値に生成されます。たとえば、書式要素DAYによりMONDAYが、DayによりMondayが、dayによりmondayが生成されます。

認識されない日付

TO_DATEがfmtを使用して、有効なDATE値で値を構成できない場合、エラーが返されます。たとえば、fmtが句読記号文字を示す場合で、text-expに英数字が含まれる場合、エラーが発生します。

例8-139 テキスト値のDATE値への変換

次の文は、January 15, 2002, 11:00 A.M.を、デフォルトの日付書式である15JAN02に変換し、その値をbonusdateという名前のDATE変数に格納します。

bonusdate = TO_DATE('January 15, 2002, 11:00 A.M.', -
   'Month dd, YYYY, HH:MI A.M.')

例8-140 デフォルト言語および日付書式の指定

次の文では、デフォルトの言語をスペイン語に設定し、新しい日付書式を指定します。NLS_DATE_LANGUAGEオプションをTO_DATEファンクションで使用して、米語の月の名前を変換できます。

NLS_DATE_FORMAT = 'Day: Month dd, yyyy HH:MI:SS am'
NLS_DATE_LANGUAGE = 'spanish'
SHOW TO_DATE('November 15, 2001', 'Month dd, yyyy', -
   NLS_DATE_LANGUAGE 'american')

日付が米語からスペイン語に変換され、新しい日付書式で表示されます。

Jueves   : Noviembre  15, 2001 12:00:00 AM