extract
Işlev
Şunun için geçerlidir: Databricks SQL denetimi yes Databricks Runtime
değerinin source
döndürürfield
.
Sözdizimi
extract(field FROM source)
Bağımsız değişken
field
: Hangi bölümününsource
ayıklanması gerektiğini seçen anahtar sözcük.source
: BirDATE
,TIMESTAMP
veyaINTERVAL
ifadesi.
Döndürür
ise field
SECOND
, bir DECIMAL(8, 6)
.
Diğer tüm durumlarda, bir INTEGER
.
veya TIMESTAMP
olduğunda source
DATE
desteklenen değerlerifield
:
YEAR
,Y
,YEARS
,YR
, :YRS
Yı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ürQUARTER
,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ırDAY
,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ındaDOY
: 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 source
INTERVAL
değerleri field
(büyük/küçük harfe duyarlı değildir):
YEAR
,Y
,YEARS
,YR
,YRS
: Toplam ay sayısı / 12MONTH
,MON
,MONS
,MONTHS
: Toplam ay sayısı % 12DAY
,D
,DAYS
: Aralığın bir parçası olan gün sayısıHOUR
,H
,HOURS
,HR
,HRS
: Mikrosaniyelerin kaç saat içerdiğiMINUTE
,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