TIME tür

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi evet olarak işaretlendi Databricks Runtime 18.3 ve üzeri

Important

Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.

Saat, dakika ve saniye alanlarının saat dilimi olmayan değerlerini içeren günün saatini temsil eder.

Syntax

TIME | TIME(p)

p: Saniye alanındaki kesirli basamak sayısını belirten isteğe bağlı bir duyarlık. Geçerli değerler 0 ile 6 arasındadır. Atlanırsa p , varsayılan duyarlık (mikrosaniye) olur 6 .

Limits

Desteklenen zaman değerleri aralığı ile 23:59:59.999999olur00:00:00.000000.

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: ile (24 saatlik biçim) arasında 00 veya 01 ile 2312 arasında (ile AM/PM12 saatlik biçim) bir veya iki basamaklı saat.
  • [m]m: ile 59arasında 00 bir veya iki basamaklı bir dakika.
  • [s]s: ile 59arasında 00 bir veya iki basamaklı saniye.
  • [f...]: Kesirli saniyenin en fazla 6 basamağı.
  • AM veya PM: 12 saatlik saat değerini gösteren isteğe bağlı büyük/küçük harfe duyarlı olmayan sonek.

Ön ek TIME büyük/küçük harfe duyarlı değildir.

İkinci bileşen belirtilmezse, varsayılan olarak olur 0.

Değişmez değer uygun bir zamanı temsil etmiyorsa Azure Databricks bir hata oluşturur.

Duyarlık kuralları

Farklı duyarlıklara sahip iki TIME değer birleştirildiğinde (örneğin, COALESCE, CASE, UNION veya aritmetik), sonuç iki duyarlığı daha geniş kullanır.

Örneğin, en az kullanılan ve TIME(6)TIME(6)türüdürTIME(3).

Bir TIME değeri daha düşük bir duyarlıkla değiştirdiğinizde kesirli saniyeler yuvarlanır, yuvarlanır değil kesilir:

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

öğesine bir gün-zaman aralığı TIMEeklediğinizde veya çıkardığınızda, sonuç daha geniş duyarlık ve aralığın TIME kesirli ikinci duyarlığı kullanır. Örneğin, TIME(0) + INTERVAL '1.123456' SECOND bir TIME(6)döndürür. Sonuç [00:00:00, 24:00:00) dışında kalırsa Azure Databricks DATETIME_OVERFLOW yükseltir.

Notlar

Değerler üzerindeki TIME tüm işlemler, hiçbir saat dilimi dikkate alınmadan gerçekleştirilir.

Delta Lake tablolarındaki sütunları kullanmak TIME için, türündeki bir sütuna TIME sahip yeni bir Delta tablosu oluşturduğunuzda destek otomatik olarak etkinleştirilir. Var olan bir TIME tabloya sütun eklemek için önce özelliği etkinleştirmeniz gerekir:

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

Türün TIME sınırlamaları şunlardır:

  • Oluşturulan sütunlarda desteklenmez.
  • Bloom filtre dizinleri için desteklenmez.
  • Z-Ordering için desteklenmez.

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