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

前
 
次
 

DATEFORMAT

DATEFORMATオプションは、日付のみのデータ型の値の表示や、日付のみの値からテキスト値への変換に使用するテンプレートを保持します。テンプレートには、日付の4つの構成要素(日、月、年、曜日)についての書式指定を含めることができます。また、追加のテキストを含めることもできます。

データ型

TEXT

構文

DATEFORMAT = template

パラメータ

template

日付を表示するためのテンプレートを指定するTEXT式。テンプレート内の各構成要素は、左の山カッコと右の山カッコで囲む必要があります。構成要素の前後または構成要素間には、別のテキストを入れることが可能です。デフォルトのテンプレートは、'<DD><MTXT><YY>'です。

表5-2「日にち用のDATEFORMATテンプレート」表5-3「曜日用のDATEFORMATテンプレート」表5-4「月用のDATEFORMATテンプレート」および表5-5「年用のDATEFORMATテンプレート」に、各構成要素の有効な書式を記載します。表には、1990年3月1日および2051年11月12日の2つの表示例が示されています。

表5-2 日にち用のDATEFORMATテンプレート

書式 意味 1990年3月1日 2051年11月12日

<D>

1桁または2桁

1

12

<DD>

2桁

01

12

<DS>

空白詰め、2桁

1

12

<DT>

序数、大文字

1ST

12TH

<DTL>

序数、小文字

1st

12th


表5-3「曜日用のDATEFORMATテンプレート」に、曜日についての有効な書式を記載します。表には、1990年3月1日および2051年11月12日の2つの表示例が示されています。

表5-3 曜日用のDATEFORMATテンプレート

書式 意味 1990年3月1日 2051年11月12日

<W>

数値

4

1

<WT>

頭文字、大文字

W

S

<WTXT>

先頭の3文字、大文字

WED

SUN

<WTXTL>

先頭の3文字、小文字

Wed

Sun

<WTEXT>

完全名、大文字

WEDNESDAY

SUNDAY

<WTEXTL>

完全名、小文字

Wednesday

Sunday


<WTXT><WTXTL><WTEXT>または<WTEXTL>の書式を指定する場合、DAYNAMESに値が設定されていると、表示される値が次のような影響を受けることに注意してください。

  • DAYNAMESに名前がすべて小文字で入力されている場合、名前全体が大文字に変換されます。そうでない場合は、最初の文字が大文字に変換され、2番目以降の文字は元のままです。

  • DAYNAMESに名前がすべて大文字で入力されている場合、2番目以降の文字が小文字に変換されます。そうでない場合は、名前全体がDAYNAMESの指定のまま維持されます。

表5-4「月用のDATEFORMATテンプレート」に、月についての有効な書式を記載します。表には、1990年3月1日および2051年11月12日の2つの表示例が示されています。

表5-4 月用のDATEFORMATテンプレート

書式 意味 1990年3月1日 2051年11月12日

<M>

1桁または2桁

1

11

<MM>

2桁

03

11

<MS>

空白詰め、2桁

3

11

<MT>

頭文字、大文字

M

N

<MTXT>

先頭の3文字、大文字

MAR

NOV

<MTXTL>

先頭の3文字、小文字

Mar

Nov


<MTXT>または<MTXTL>の書式を指定する場合、MONTHNAMESに値が指定されていると、表示される値が次のような影響を受けることに注意してください。

  • MONTHNAMESに名前がすべて小文字で入力されている場合、名前全体が大文字に変換されます。そうでない場合は、最初の文字が大文字に変換され、2番目以降の文字は元のままです。

  • MONTHNAMESに名前がすべて大文字で入力されている場合、2番目以降の文字が小文字に変換されます。そうでない場合は、名前全体がMONTHNAMESの指定のまま維持されます。

表5-5「年用のDATEFORMATテンプレート」に、年についての有効な書式を記載します。表には、1990年3月1日および2051年11月12日の2つの表示例が示されています。

表5-5 年用のDATEFORMATテンプレート

書式 意味 1990年3月1日 2051年11月12日

<YY>

2桁または4桁

90

2051

<YYYY>

4桁

1990

2051


使用上の注意

DATEFORMATテンプレートで山カッコをテキストとして指定する方法

テンプレート内に追加テキストとして山カッコを含めるには、テキストとして含める各山カッコに対し2つの山カッコを指定してください(たとえば、日付全体を山カッコで囲んで表示するには、'<<<D><M><YY>>>'と指定します)。

月名と曜日名

MT、MTXT、MTXTL、MTEXTおよびMTEXTL書式の月の構成要素に使用される名前は、MONTHNAMESオプションの現行の設定から読み取ります。WT、WTXT、WTXTL、WTEXTおよびWTEXTL書式で曜日の構成要素に使用される名前は、DAYNAMESオプションの現行の設定からのものです。

日にちと月の略称の指定

DAYABBRLENおよびMONTHABBRLENオプションを設定することで、曜日名および月名について、様々な長さの略称を使用できます。

DATEFORMATの有効範囲外の年

YY書式を指定した場合、1950から2049年の範囲を超える年は4桁で表示されます。

日付のみの値からテキスト値への自動変換

テキスト・データ型が予期されるときに日付のみのデータ型を使用した場合。Oracle OLAPではDATEFORMATオプションの日付テンプレートも使用して、自動的に日付をテキスト値に変換します。現行のDATEFORMATテンプレートを上書きする場合は、date-format引数を指定したCONVERTファンクションを使用することによって、日付の結果をテキストに変換できます。

いったん日付のみの値がテキスト変数に保存されると、DATEFORMATテンプレートはその値の表示書式として使用されなくなり、それ以降、DATEFORMATが変更されてもその値には適用されません。

日付のみのディメンション値

DATEFORMATオプションでは、DAY、WEEK、MONTH、QUARTERおよびYEARディメンションの日付のみの値を表示する方法は指定されません。これらの値の表示方法は、ディメンション定義に付加されているVNF(値名書式)によって、またはDAY、WEEK、MONTH、QUARTER、YEARディメンションのデフォルトの規則によって制御されます(表2-5「DWMQYディメンションに対するデフォルトのVNF」を参照)。

例5-13 日付の書式の変更

次の文により、日付のみの変数を定義して、値を1997年3月24日に設定し、日付書式を日、月、年の順序でそれぞれ2桁で表示するように設定して、結果を現行の出力ファイルに送信します。

DEFINE datevar VARIABLE DATE
datevar = '24Mar97'
DATEFORMAT = '<DD>/<MM>/<YY>'
SHOW datevar

これらの文によって生成される出力は次のとおりです。

24/03/97

次の文で、日付の書式を月(テキスト)、日(2桁)、年(4桁)に変更し、結果を現行の出力ファイルに送信します。

DATEFORMAT = '<MTEXTL> <D>, <YYYY>'
SHOW DATEVAR

これらの文によって生成される出力は次のとおりです。

March 24, 1997

次の文で、日付の書式を曜日(テキスト)、月(テキスト)、日(1または2桁)、年(4桁)に変更し、結果を現行の出力ファイルに送信します。

DATEFORMAT = '<WTEXTL> <MTEXTL> <D>, <YYYY>'
SHOW DATEVAR

これらの文によって生成される出力は次のとおりです。

Monday March 24, 1997

例5-14 日付の書式にテキストを含める

次の文では、アナリティック・ワークスペースのスタートアップ・メッセージに追加のテキストを含めるために、DATEFORMATオプションを保存してから変更します。

PUSH DATEFORMAT
DATEFORMAT = 'Hello.  Today is <wtextl>, the <dtl> -
OF <MTEXTL>.'
SHOW TODAY
POP DATEFORMAT

今日の日付が1997年5月30日の場合、プログラムが起動された際に次の出力が現行の出力ファイルに送信されます。

Hello.  Today is Friday, the 30th of May.