共用方式為


extract 功能

適用于:核取標示為是 Databricks SQL 檢查標示為是 Databricks Runtime

fieldsource 回 。

語法

extract(field FROM source)

參數

  • field:選取應該擷取哪個部分的 source 關鍵字。
  • sourceDATE:、 TIMESTAMPINTERVAL 運算式。

返回

如果 fieldSECOND ,則為 DECIMAL(8, 6) 。 在其他所有情況下,都是 INTEGER

當 為 DATETIMESTAMPsource 的支援值 field

  • YEARYYEARSYR 、、 YRS :年欄位
  • YEAROFWEEK:日期時間落在的 ISO 8601 周編號年份。 例如,2005-01-02 是 2004 年第 53 周的一部分,因此結果為 2004
  • QUARTERQTR :日期時間落在年份的季 (1 - 4)
  • MONTHMONMONSMONTHS : 月份欄位 (1 - 12)
  • WEEKWWEEKS :ISO 8601 周-of-week-based-year 的數目。 一周會被視為在星期一開始,而第 1 周是第一周,且有 > 3 天。 在 ISO 周編號系統中,1 月的早期日期可能是前一年第 52 或第 53 周的一部分,而 12 月的晚期日期可能是下一年第一周的一部分。 例如,2005-01-02 是 2004 年第 53 周的一部分,而 2012-12-31 是 2013 年第一周的一部分
  • DAYDDAYS :月份欄位的日期 (1 - 31)
  • DAYOFWEEKDOW :日期時間的星期六 (1) 到星期六 (7)
  • DAYOFWEEK_ISODOW_ISO :以星期一 (1) 到 (星期日 7) 的日期時間為星期一的 ISO 8601 日
  • DOY:年 (1 - 365/366)
  • HOURHHOURSHRHRS : 小時欄位 (0 - 23)
  • MINUTE、 、 MMINMINSMINUTES : 分鐘欄位 (0 - 59)
  • SECOND、 、 SSECSECONDSSECS : 秒欄位,包括小數部分

當 (INTERVAL 不區分大小寫) 時 source 的支援值 field

  • YEAR、 、 YYEARSYRYRS : 總月數 / 12
  • MONTHMONMONSMONTHS : 總月份 % 12
  • DAYDDAYS :間隔的天數
  • HOURH 、 、 HRHOURSHRS : 微秒包含的小時數
  • MINUTEMMIN 、、 MINS 、、 MINUTES :從微秒花費數分鐘後剩餘的分鐘數
  • SECONDSSEC 、、 SECONDS 、、 SECS :在花費數小時和分鐘數後剩餘的秒數

例子

> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
 2019

> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
 33

> SELECT extract(DAY FROM DATE'2019-08-12');
 12

> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
 1.000001

> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
 11

> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
 30.001000