Aracılığıyla paylaş


TIMESTAMP_NTZ tür

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 13.3 LTS ve üzeri

Yıl, ay, gün, saat, dakika ve saniye alanlarının değerlerini içeren değerleri temsil eder. Tüm işlemler hiçbir saat dilimi dikkate alınmadan gerçekleştirilir.

Bu özellik Genel Önizlemededir. Desteklenmeyen özellikler için Notlar bölümüne bakın.

Delta Lake'te bu özelliği kullanmak için tablo desteğini etkinleştirmeniz gerekir. Özellik desteği, türünde bir sütuna TIMESTAMP_NTZ sahip yeni bir Delta tablosu oluşturduğunuzda otomatik olarak etkinleştirilir. Var olan bir tabloya türünde bir sütun TIMESTAMP_NTZ eklediğinizde otomatik olarak etkinleştirilmez. Sütunların desteğini etkinleştirmek için TIMESTAMP_NTZ özellik desteğinin mevcut tablo için açıkça etkinleştirilmesi gerekir.

Desteğin etkinleştirilmesi tablo protokolünüzü yükseltiyor. Bkz. Azure Databricks Delta Lake özellik uyumluluğunu nasıl yönetir?. Aşağıdaki komut bu özelliği etkinleştirir:

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

Sözdizimi

TIMESTAMP_NTZ

Sınırlar

Desteklenen zaman damgaları aralığı olarak +294247-01-10 CE 04:00:54ayarlanır-290308-12-21 BCE 19:59:06.

Değişmez Değerler

TIMESTAMP_NTZ timestampString

timestampString
{ '[+|-]yyyy[...]' |
  '[+|-]yyyy[...]-[m]m' |
  '[+|-]yyyy[...]-[m]m-[d]d' |
  '[+|-]yyyy[...]-[m]m-[d]d ' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h[:]' |
  '[+|-]yyyy[..]-[m]m-[d]d[T][h]h:[m]m[:]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s[.]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s.[ms][ms][ms][us][us][us]' }
  • + veya -: İsteğe bağlı bir işaret. - BCE'yi gösterir, + CE'yi (varsayılan) gösterir.
  • yyyy: En az dört basamak içeren bir yıl.
  • [m]m: 01 ile 12 arasında bir veya iki basamaklı ay.
  • [d]d: 01 ile 31 arasında bir veya iki basamaklı bir gün.
  • h[h]: 00 ile 23 arasında bir veya iki basamaklı saat.
  • m[m]: 00 ile 59 arasında bir veya iki basamaklı dakika.
  • s[s]: 00 ile 59 arasında bir veya iki basamaklı saniye.
  • [ms][ms][ms][us][us][us]: Kesirli saniyenin en fazla 6 basamağı.

Ay veya gün bileşenleri belirtilmezse varsayılan olarak 1 olur. Saat, dakika veya ikinci bileşenler belirtilmezse varsayılan olarak 0 olur.

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

Notlar

  • Şu anda TIMESTAMP_NTZ türü şu anda şu anda desteklenmemekte:
    • Foton
    • Delta Paylaşımı
    • Power BI, Tableau, Databricks JDBC/ODBC sürücüleri veya Databricks açık kaynak sürücülerinde kullanılan Databricks veri kaynakları.
  • TIMESTAMP_NTZ türü Delta/Parquet/ORC/AVRO/JSON/CSV gibi dosya kaynaklarında desteklenir. Ancak, TIMESTAMP_NTZ sütunlu JSON/CSV dosyaları için şema çıkarımında bir sınırlama vardır. Geriye dönük uyumluluk için, veya spark.read.json(...) içindeki varsayılan zaman damgası türü spark.read.csv(...) TIMESTAMP_NTZ yerine TIMESTAMP türü olur.

Örnekler

> SELECT TIMESTAMP_NTZ'0000';
  0000-01-01 00:00:00

> SELECT TIMESTAMP_NTZ'2020-12-31';
  2020-12-31 00:00:00

> SELECT TIMESTAMP_NTZ'2021-7-1T8:43:28.123456';
  2021-07-01 08:43:28.123456

> SELECT current_timezone(), CAST(TIMESTAMP '2021-7-1T8:43:28' as TIMESTAMP_NTZ);
  America/Los_Angeles 2021-07-01 08:43:28

> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP_NTZ)
  1908-03-15 10:01:17

> SELECT TIMESTAMP_NTZ'+10000';
  +10000-01-01 00:00:00