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

下列範例會從常值 timestamp 值傳回分鐘值。

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

下列範例會從常值 timestamp 值傳回毫秒值。

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 有一個 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 有一個 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