TIME jenis

Berlaku untuk:check ditandai ya pemeriksaan Databricks SQL ditandai ya Databricks Runtime 18.3 ke atas

Important

Fitur ini ada di Beta. Admin ruang kerja dapat mengontrol akses ke fitur ini dari halaman Pratinjau . Lihat Kelola Pratinjau Azure Databricks.

Mewakili waktu hari yang terdiri dari nilai bidang jam, menit, dan detik, tanpa zona waktu.

Syntax

TIME | TIME(p)

p: Presisi opsional yang menentukan jumlah digit pecahan di bidang detik. Nilai yang valid adalah 0 ke 6. Jika p dihilangkan, presisi defaultnya adalah 6 (microseconds).

Batasan

Rentang nilai waktu yang didukung adalah 00:00:00.000000 ke 23:59:59.999999.

Literals

TIME timeString

timeString
{ '[h]h:[m]m' |
  '[h]h:[m]m:[s]s' |
  '[h]h:[m]m:[s]s.[f...]' |
  '[h]h:[m]m AM|PM' |
  '[h]h:[m]m:[s]s AM|PM' |
  '[h]h:[m]m:[s]s.[f...] AM|PM' }
  • [h]h: Satu atau dua digit jam antara 00 dan (format 24 jam) atau antara 01 dan 12 (format 12 jam denganPMAM/ ).23
  • [m]m: Satu atau dua digit menit antara 00 dan 59.
  • [s]s: Satu atau dua digit detik antara 00 dan 59.
  • [f...]: Hingga 6 digit untuk pecahan detik.
  • AM atau PM: Akhiran tidak peka huruf besar/kecil opsional yang menunjukkan nilai jam 12 jam.

Awalan TIME tidak sensitif terhadap huruf besar atau kecil.

Jika komponen kedua tidak ditentukan, komponen tersebut default ke 0.

Jika harfiah tidak mewakili waktu yang tepat Azure Databricks menimbulkan kesalahan.

Aturan presisi

Ketika dua TIME nilai dengan presisi yang berbeda digabungkan (misalnya, dalam COALESCE, CASE, UNION, atau aritmatika), hasilnya menggunakan lebih luas dari dua presisi.

Misalnya, jenis TIME(3) dan TIME(6) yang paling tidak umum adalah TIME(6).

Saat Anda melemparkan TIME nilai ke presisi yang lebih rendah, detik pecahan dipotong, tidak dibulatkan:

> SELECT CAST(TIME'12:30:45.987654' AS TIME(3));
  12:30:45.987

Saat Anda menambahkan atau mengurangi interval waktu sehari ke TIME, hasilnya menggunakan presisi yang lebih luas TIME dan presisi kedua pecahan interval. Misalnya, TIME(0) + INTERVAL '1.123456' SECOND mengembalikan TIME(6). Jika hasilnya berada di luar [00:00:00, 24:00:00), Azure Databricks menaikkan DATETIME_OVERFLOW.

Notes

Semua operasi pada TIME nilai dilakukan tanpa memperhitungkan zona waktu apa pun.

Untuk menggunakan TIME kolom dalam tabel Delta Lake, dukungan diaktifkan secara otomatis saat Anda membuat tabel Delta baru dengan kolom jenis TIME . Untuk menambahkan TIME kolom ke tabel yang sudah ada, Anda harus terlebih dahulu mengaktifkan fitur:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timeType' = 'supported')

Jenis ini TIME memiliki batasan berikut:

  • Tidak didukung dalam kolom yang dihasilkan.
  • Tidak didukung untuk indeks filter mekar.
  • Tidak didukung untuk Z-Ordering.

Examples

> SELECT TIME'10:30:00';
  10:30:00

> SELECT TIME'08:15';
  08:15:00

> SELECT TIME'23:59:59.123456';
  23:59:59.123456

> SELECT CAST('14:30:00' AS TIME);
  14:30:00

> SELECT CAST('09:15:30.5' AS TIME(3));
  09:15:30.500

> SELECT current_time();
  16:57:04.304361

> SELECT make_time(6, 30, 45.887);
  06:30:45.887000