extract Işlev

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi yes Databricks Runtime olarak işaretlendi

değerinin sourcedöndürürfield.

Sözdizimi

extract(field FROM source)

Bağımsız değişken

  • field: Hangi bölümünün source ayıklanması gerektiğini seçen anahtar sözcük.
  • source: Bir DATE, TIMESTAMPveya INTERVAL ifadesi.

Döndürür

ise fieldSECOND, bir DECIMAL(8, 6). Diğer tüm durumlarda, bir INTEGER.

veya TIMESTAMPolduğunda sourceDATE desteklenen değerlerifield:

  • YEAR, Y, YEARS, YR, : YRSYıl alanı
  • YEAROFWEEK: Tarih saat değerinin düştüğü ISO 8601 hafta numaralandırma yılı. Örneğin, 2005-01-02, 2004 yılının 53. haftasının bir parçasıdır, dolayısıyla sonuç 2004'tür
  • QUARTER, QTR: Tarih saat değerinin düştüğü yılın üç aylık dönemi (1 - 4)
  • MONTH, MON, MONS, MONTHS: Ay alanı (1 - 12)
  • WEEK, W, WEEKS: Iso 8601 haftalık yıllık bazda sayısı. Bir hafta Pazartesi günü başlayacak şekilde kabul edilir ve 1. hafta 3 gün ile >ilk haftadır. ISO hafta numaralandırma sisteminde, Ocak başı tarihlerin bir önceki yılın 52. veya 53. haftasının, Aralık sonu tarihlerinin ise sonraki yılın ilk haftasının bir parçası olması mümkündür. Örneğin, 2005-01-02, 2004 yılının 53. haftasının bir parçasıdır, 2012-12-31 ise 2013'ün ilk haftasının bir parçasıdır
  • DAY, D, DAYS: Ayın günü alanı (1 - 31)
  • DAYOFWEEK, DOW: Pazar(1) ile Cumartesi (7) arasında tarih saat için haftanın günü
  • DAYOFWEEK_ISO, DOW_ISO: Iso 8601 tarih saat için haftanın günü olarak Pazartesi(1) ile Pazar(7) arasında
  • DOY: Yılın günü (1 - 365/366)
  • HOUR, H, HOURS, HR, HRS: Saat alanı (0 - 23)
  • MINUTE, M, MIN, MINS, MINUTES: Dakika alanı (0 - 59)
  • SECOND, S, SEC, SECONDS, SECS: Kesirli bölümler de dahil olmak üzere saniye alanı

desteklendiği zaman sourceINTERVAL değerleri field (büyük/küçük harfe duyarlı değildir):

  • YEAR, Y, YEARS, YR, YRS: Toplam ay sayısı / 12
  • MONTH, MON, MONS, MONTHS: Toplam ay sayısı % 12
  • DAY, D, DAYS: Aralığın bir parçası olan gün sayısı
  • HOUR, H, HOURS, HR, HRS: Mikrosaniyelerin kaç saat içerdiği
  • MINUTE, M, MIN, MINS, MINUTES: Mikrosaniyeden saatler geçtikten sonra kaç dakika kaldı?
  • SECOND, S, SEC, SECONDS, SECS: Mikrosaniyeden saatler ve dakikalar geçtikten sonra kesirlerin kaldığı saniye sayısı

Örnekler

> 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