EXTRACT 関数 - Amazon Redshift

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

EXTRACT 関数

EXTRACT関数は、日付または時刻部分を返します。たとえば、日付、月、年、時、分、秒、ミリ秒、またはマイクロ秒は、TIMESTAMP値または式、TIME、またはTIMETZから返されます。

Syntax

EXTRACT ( datepart FROM { TIMESTAMP 'literal' | timestamp | time | timetz } )

Arguments

datepart

有効な値については、「日付またはタイムスタンプ機能の日付部分」を参照してください。

literal

一重引用符で囲まれ、TIMESTAMPキーワードの前に続くタイムスタンプ値。

タイムスタンプ | | タイムズツ

TIMESTAMP、TIMESTAMPTZ、TIME、またはTIMETZ列、またはTIMESTAMP、TIMEZONE、TIME、またはTIMETZを含むTIMESTAMPに暗黙的に変換される式。

戻り型

INTEGER 引数が TIMESTAMP、TIME、または TIMETZ の場合

引数が TIMESTAMPTZ の場合は DOUBLE PRECISION

タイムスタンプ列の例

次の例は、支払われた価格が 10.000 ドル以上の売上の週数を決定します。

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

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

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

時間列の例

次の例のテーブル 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 secs from time_test; secs ----------- 0 0 58

次の例は、各 timetz_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(hour from time '18:25:33.123456 EST'); date_part ----------- 18