Aracılığıyla paylaş


date_part işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Tarihin, zaman damgasının veya aralığın bir bölümünü ayıklar.

Söz dizimi

date_part(fieldStr, expr)

Argümanlar

  • fieldStr: Bir STRING literal.
  • expr: , DATETIMESTAMPveya INTERVAL ifadesi.

İadeler

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

field source veya DATEolduğunda desteklenen TIMESTAMP değerleri:

  • 'YEAR', 'Y', 'YEARS', 'YR', , 'YRS': Yıl alanı
  • 'YEAROFWEEK': Tarih saatlerinin 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 ve saatin düştüğü yılın çeyreği (1 - 4)
  • 'MONTH', 'MON', 'MONS', 'MONTHS': Ay alanı (1 - 12)
  • 'WEEK', 'W', 'WEEKS': ISO 8601 haftaya dayalı yılın hafta numarası. Bir haftanın Pazartesi günü başlaması kabul edilir ve 1. hafta 3 gün ile >ilk haftadır. ISO hafta numaralandırma sisteminde, Ocak ayının başındaki 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 parçalar da dahil olmak üzere saniye alanı

field source olduğunda desteklenen INTERVAL değerleri (büyük/küçük harfe duyarsızdır):

  • 'YEAR', 'Y', 'YEARS', 'YR', : 'YRS'Toplam ay sayısı / 12
  • 'MONTH', 'MON', 'MONS', 'MONTHS': Toplam ay sayısı % 12
  • 'DAY', 'D', 'DAYS': Aralığın gün bölümü
  • 'HOUR', 'H', 'HOURS', 'HR', , 'HRS': Mikrosaniyenin kaç saat içerdiği
  • 'MINUTE', 'M', 'MIN', 'MINS', 'MINUTES': Mikrosaniyelerden saatler çıkarıldığında kaç dakika kalır?
  • 'SECOND', 'S', 'SEC', 'SECONDS', 'SECS': Mikrosaniyelerden saatler ve dakikalar çıkarıldığında kesirlerin kaldığı saniye sayısı

date_part işlevi, SQL standart ayıklama işlevinin eş anlamlısıdır.

Örneğin date_part('year', CURRENT_DATE) , extract(YEAR FROM CURRENT_DATE)'e eşdeğerdir.

Örnekler

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

> SELECT date_part('Week', TIMESTAMP'2019-08-12 01:00:00.123456');
 33

> SELECT date_part('day', DATE'2019-08-12');
 12

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

> SELECT date_part('Months', INTERVAL '2-11' YEAR TO MONTH);
 11

> SELECT date_part('seconds', INTERVAL '5:00:30.001' HOUR TO SECOND);
 1.001000