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 番目のパラメーターで指定された日時値が存在する場合にのみ、フィールドを抽出できます。データ・タイプの中に要求したフィールドが存在しない場合は、構文解析時エラーまたは実行時エラーのいずれかが生成されます。
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 | うるう年かどうか。 |
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 に日付の情報がないので失敗します。