カテゴリ:

日付と時刻の関数

DATE_PART

日付、時刻、またはタイムスタンプから指定された日付または時刻部分を抽出します。

代替候補:

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

構文

DATE_PART( <date_or_time_part> , <date_or_time_expr> )

使用上の注意

  • 日付または時刻部分 は、 サポートされている日付と時刻の部分 にリストされている値のいずれかでなければなりません。

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

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

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

  • 日付または時刻式 は、日付、時刻、またはタイムスタンプにすることができます。

これは、 DATE の一部を抽出する簡単な例を示しています。

SELECT DATE_PART(QUARTER, '2013-05-08'::DATE);
+----------------------------------------+
| DATE_PART(QUARTER, '2013-05-08'::DATE) |
|----------------------------------------|
|                                      2 |
+----------------------------------------+

これは、 TIMESTAMP の一部を抽出する例を示しています。

SELECT TO_TIMESTAMP('2013-05-08T23:39:20.123-07:00') AS "TIME_STAMP1",
         DATE_PART(YEAR, "TIME_STAMP1") AS "EXTRACTED YEAR";
+-------------------------+----------------+
| TIME_STAMP1             | EXTRACTED YEAR |
|-------------------------+----------------|
| 2013-05-08 23:39:20.123 |           2013 |
+-------------------------+----------------+

これは、 TIMESTAMP を UNIX/LINUX EPOCH (1970年1月1日午前0時)の開始からの秒数に変換する例を示しています。

SELECT TO_TIMESTAMP('2013-05-08T23:39:20.123-07:00') AS "TIME_STAMP1",
         DATE_PART(EPOCH_SECOND, "TIME_STAMP1") AS "EXTRACTED EPOCH SECOND";
+-------------------------+------------------------+
| TIME_STAMP1             | EXTRACTED EPOCH SECOND |
|-------------------------+------------------------|
| 2013-05-08 23:39:20.123 |             1368056360 |
+-------------------------+------------------------+