カテゴリ:

日付と時刻の関数

EXTRACT

Extracts the specified date or time part from a date, interval, time, or timestamp.

Tip

タイムスタンプから日付を抽出するには、 TO_DATE 関数を使用します。

代替候補:

DATE_PARTHOUR / MINUTE / SECONDYEAR* / DAY* / WEEK* / MONTH / QUARTER

構文

EXTRACT( <date_or_time_part> FROM <date_interval_time_or_timestamp_expr> )
EXTRACT( <date_or_time_part> , <date_interval_time_or_timestamp_expr> )

引数

date_or_time_part

The unit of time. Must be one of the values listed in サポートされている日付と時刻の部分 (for example, month). The value can be a string literal or can be unquoted (for example, 'month' or month).

  • date_or_time_partweek (またはそのバリエーション)の場合、出力は WEEK_START セッションパラメーターによって制御されます。

  • date_or_time_partdayofweek または yearofweek (またはそれらのバリエーション)の場合、出力は WEEK_OF_YEAR_POLICY および WEEK_START セッションパラメーターによって制御されます。

例などの詳細については、 カレンダーの週と平日 をご参照ください。

date_interval_time_or_timestamp_expr

A date, an interval, a time, or a timestamp, or an expression that can be evaluated to one of those data types.

戻り値

NUMBER データ型の値を返します。

使用上の注意

  • When date_interval_time_or_timestamp_expr is a year-month interval value, the supported date_or_time_part values are year and month.

  • When date_interval_time_or_timestamp_expr is a day-time interval value, the supported date_or_time_part values are day, hour, minute, second, and nanosecond.

  • Currently, when date_interval_time_or_timestamp_expr is a DATE value, the following date_or_time_part values aren't supported:

    • epoch_millisecond

    • epoch_microsecond

    • epoch_nanosecond

    その他の 日付と時刻の部分epoch_second を含む)がサポートされています。

year の部分を指定して、タイムスタンプから年を抽出します。

SELECT EXTRACT(year FROM TO_TIMESTAMP('2024-04-10T23:39:20.123-07:00')) AS YEAR;
+------+
| YEAR |
|------|
| 2024 |
+------+

現在の曜日の完全な名前を返すには、 EXTRACT を DECODE 関数と dayofweek の部分と一緒に使用します。

SELECT DECODE(EXTRACT(dayofweek FROM SYSTIMESTAMP()),
  1, 'Monday',
  2, 'Tuesday',
  3, 'Wednesday',
  4, 'Thursday',
  5, 'Friday',
  6, 'Saturday',
  7, 'Sunday') AS DAYOFWEEK;
+-----------+
| DAYOFWEEK |
|-----------|
| Thursday  |
+-----------+

注釈

出力は、クエリを実行したときに SYSTIMESTAMP 関数から返される値に依存します。 DAYNAME 関数を使用して、指定した日付またはタイムスタンプから3文字の曜日名を抽出することもできます。