EXTRACT 関数 - AWS Clean Rooms

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EXTRACT 関数

EXTRACT 関数は、TIMESTAMP、TIMESTAMPTZ、TIME、または TIMETZ 値から日付または時刻部分を返します。例としては、タイムスタンプの日、月、年、時、分、秒、ミリ秒、マイクロ秒などがあります。

構文

EXTRACT(datepart FROM source)

引数

datepart

日、月、年、時、分、秒、ミリ秒、マイクロ秒など、抽出する日付または時刻のサブフィールド。有効な値については、「日付関数またはタイムスタンプ関数の日付部分」を参照してください。

source

評価結果が TIMESTAMP、TIMESTAMPTZ、TIME、または TIMETZ のデータ型になる列または式。

戻り型

source 値が TIMESTAMP、TIME、または TIMETZ のデータ型として評価される場合は INTEGER。

source 値がデータ型 TIMESTAMPTZ として評価される場合は、DOUBLE PRECISION。

TIMESTAMP の例

次の例では、支払価格が 10,000 USD 以上であった販売の週の数を判定します。

select salesid, extract(week from saletime) as weeknum from sales where pricepaid > 9999 order by 2; salesid | weeknum --------+--------- 159073 | 6 160318 | 8 161723 | 26

次の例では、リテラルタイムスタンプの値から分の値を返します。

select extract(minute from timestamp '2009-09-09 12:08:43'); date_part --

次の例は、リテラルタイムスタンプ値からミリ秒の値を返します。

select extract(ms from timestamp '2009-09-09 12:08:43.101'); date_part ----------- 101

TIMESTAMPTZ の例

次の例は、リテラル timestamptz 値から年の値を返します。

select extract(year from timestamptz '1.12.1997 07:37:16.00 PST'); date_part ----------- 1997

TIME の例

次のテーブルの TIME_TEST の例には、3 つの値が挿入された列 TIME_VAL (タイプ TIME) があります。

select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00

次の例は、各 time_val から分を抽出します。

select extract(minute from time_val) as minutes from time_test; minutes ----------- 0 0 58

次の例は、各 time_val から時間を抽出します。

select extract(hour from time_val) as hours from time_test; hours ----------- 20 0 0

次の例では、リテラル値からミリ秒を抽出します。

select extract(ms from time '18:25:33.123456'); date_part ----------- 123

TIMETZ の例

次のテーブルの TIMETZ_TEST の例には、3 つの値が挿入された列 TIMETZ_VAL (タイプ TIMETZ) があります。

select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00

次の例では、各 timetz_val から時間を抽出します。

select extract(hour from timetz_val) as hours from time_test; hours ----------- 4 0 5

次の例では、リテラル値からミリ秒を抽出します。抽出が処理される前には、リテラルは UTC に変換されません。

select extract(ms from timetz '18:25:33.123456 EST'); date_part ----------- 123

次の例は、リテラル timetz 値から、UTC からのタイムゾーンオフセット時を返します。

select extract(timezone_hour from timetz '1.12.1997 07:37:16.00 PDT'); date_part ----------- -7