date_part fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengekstrak bagian dari tanggal, penanda waktu, atau interval.

Sintaks

date_part(fieldStr, expr)

Argumen

  • fieldStr: Sebuah literal STRING.
  • expr: Ekspresi DATE, , TIMESTAMPatau INTERVAL .

Pengembalian

Jika fieldStr adalah 'SECOND', maka DECIMAL(8, 6). Dalam semua kasus lain, INTEGER.

Nilai field yang didukung adalah ketika source adalah DATE atau TIMESTAMP:

  • 'YEAR', 'Y', 'YEARS', 'YR', 'YRS': Bidang tahun
  • 'YEAROFWEEK': Tahun penomoran minggu ISO 8601 yang termasuk dalam tanggal dan waktu. Misalnya, 2005-01-02 adalah bagian dari minggu ke-53 dari tahun 2004, jadi hasilnya adalah 2004
  • 'QUARTER', 'QTR': Kuartal (1 - 4) tahun di mana tanggal dan waktu jatuh
  • 'MONTH', 'MON', 'MONS', 'MONTHS': Bidang bulan (1 - 12)
  • 'WEEK', 'W', 'WEEKS': Nomor minggu tahun berbasis minggu menurut ISO 8601. Seminggu dianggap dimulai pada hari Senin dan minggu 1 adalah minggu pertama dengan >3 hari. Dalam sistem penomoran minggu ISO, dimungkinkan bagi tanggal awal Januari menjadi bagian dari minggu ke-52 atau ke-53 tahun sebelumnya, dan untuk tanggal di akhir Desember menjadi bagian dari minggu pertama tahun depan. Misalnya, 2005-01-02 adalah bagian dari minggu ke-53 tahun 2004, sedangkan 2012-12-31 adalah bagian dari minggu pertama 2013
  • 'DAY', 'D', 'DAYS': Bidang hari dalam bulan (1 - 31)
  • 'DAYOFWEEK', 'DOW': Hari dalam seminggu untuk tanggal dan waktu sebagai Minggu(1) hingga Sabtu(7)
  • 'DAYOFWEEK_ISO', 'DOW_ISO': ISO 8601 berdasarkan hari dalam seminggu untuk tanggal dan waktu sebagai Senin(1) hingga Minggu(7)
  • 'DOY': Hari dalam setahun (1 - 365/366)
  • 'HOUR', 'H', 'HOURS', 'HR', 'HRS': Bidang jam (0 - 23)
  • 'MINUTE', 'M', 'MIN', 'MINS', 'MINUTES': Bidang menit (0 - 59)
  • 'SECOND', 'S', 'SEC', 'SECONDS', 'SECS': Bidang detik, termasuk bagian pecahan

Nilai yang didukung dari field ketika source adalah INTERVAL (tidak peka huruf besar/kecil) adalah sebagai berikut:

  • 'YEAR', 'Y', 'YEARS', 'YR', 'YRS': Total bulan / 12
  • 'MONTH' 'MON', 'MONS', 'MONTHS': Jumlah bulan % 12
  • 'DAY' 'D' 'DAYS': Bagian hari dari interval
  • 'HOUR', 'H', 'HOURS', 'HR', 'HRS': Berapa jam berisi mikrodetik
  • 'MINUTE', , 'M''MIN', 'MINS', 'MINUTES': Berapa menit tersisa setelah mengambil jam dari mikrodetik
  • 'SECOND', 'S', 'SEC', 'SECONDS', 'SECS': Berapa detik dengan pecahan tersisa setelah mengurangi jam dan menit dari total mikrodetik

Fungsi date_part adalah sinonim untuk fungsi standar ekstrak SQL.

Misalnya date_part('year', CURRENT_DATE) setara dengan extract(YEAR FROM CURRENT_DATE)

Contoh

> 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);
 30.001000