EXTRACT 関数

EXTRACT 関数は、日時値およびインターバルから、フィールドを抽出 (または値を計算) します。

結果は、YEAR、MONTH、DAY、HOUR、MINUTE、DAYS、DAYOFYEAR、DAYOFWEEK、MONTHS、QUARTEROFYEAR、QUARTERS、WEEKS、WEEKOFYEAR、および WEEKOFMONTH の抽出値は INTEGER ですが、SECOND の抽出値は FLOAT で、ISLEAPYEAR の抽出値は BOOLEAN です。SourceDate が NULL の場合、結果は抽出のタイプに関係なく NULL です。

構文

EXTRACT 関数は、日時値およびインターバルから、個々のフィールドを抽出します。2 番目のパラメーターで指定された日時値が存在する場合にのみ、フィールドを抽出できます。データ・タイプの中に要求したフィールドが存在しない場合は、構文解析時エラーまたは実行時エラーのいずれかが生成されます。

以下の表では、バージョン 6.0 でサポートされている抽出値について説明します。
注: 新しい整数値はすべて 1 から始まります。
表 1.
Extract 説明
YEAR
MONTH
DAY
HOUR 時間
MINUTE
SECOND
DAYS 0001 年 1 月 1 日と SourceDate との間の日数。
DAYOFYEAR 年間通算日
DAYOFWEEK 曜日: 日曜日 = 1、月曜日 = 2、火曜日 = 3、水曜日 = 4、木曜日 = 5、金曜日 = 6、土曜日 = 7。
MONTHS 0001 年 1 月 1 日と SourceDate との間の月数。
QUARTEROFYEAR 年の四半期: 1 月から 3 月まで = 1、4 月から 6 月まで = 2、7 月から 9 月まで = 3、10 月から 12 月まで = 4。
QUARTERS 0001 年 1 月 1 日と SourceDate との間の四半期の数。
WEEKS 0001 年 1 月 1 日と SourceDate との間の一週間の数。
WEEKOFYEAR 年間通算週
WEEKOFMONTH 月の週
ISLEAPYEAR うるう年かどうか。
注:
  1. 週は任意の連続した 7 日間ではなく、日曜日から土曜日までとして定義されます。必要な場合は、代わりの表記体系に変換しなければなりません。
  2. ソース日時のエポックは、0001 年 1 月 1 日です。このエポックより前の日付は、この関数にとっては無効です。
  3. 計算にはグレゴリオ暦が想定されています。

EXTRACT(YEAR FROM CURRENT_DATE)
および
EXTRACT(HOUR FROM LOCAL_TIMEZONE)
これらはいずれも機能します。しかし、
EXTRACT(DAY FROM CURRENT_TIME)
は、機能しません。
EXTRACT (DAYS FROM DATE '2000-02-29')
は 1 年から '2000-02-29' までの間にある日数を計算し、
EXTRACT (DAYOFYEAR FROM CURRENT_DATE)
は現在の年の初め以降の日数を計算しますが、
EXTRACT (DAYOFYEAR FROM CURRENT_TIME)
は CURRENT_TIME に日付の情報がないので失敗します。
関連概念
ESQL の概要
関連タスク
ESQL の開発
関連資料
構文図: 使用可能なタイプ
ESQL 日時関数
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ak05420_