Share via


Typ: TIMESTAMP_NTZ

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 13.3 LTS och senare

Representerar värden som består av värden för fälten år, månad, dag, timme, minut och sekund. Alla åtgärder utförs utan att ta hänsyn till någon tidszon.

Den här funktionen finns som allmänt tillgänglig förhandsversion. Se avsnittet Anteckningar för funktioner som inte stöds.

Om du vill använda den här funktionen på Delta Lake måste du aktivera stöd för tabellen. Funktionsstöd aktiveras automatiskt när du skapar en ny Delta-tabell med en kolumn av TIMESTAMP_NTZ typen . Den aktiveras inte automatiskt när du lägger till en kolumn av TIMESTAMP_NTZ typen i en befintlig tabell. Om du vill aktivera stöd för TIMESTAMP_NTZ kolumner måste stöd för funktionen uttryckligen aktiveras för den befintliga tabellen.

Om du aktiverar stöd uppgraderas tabellprotokollet. Se Hur hanterar Azure Databricks Delta Lake-funktionskompatibilitet?. Följande kommando aktiverar den här funktionen:

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

Syntax

TIMESTAMP_NTZ

Gränser

Intervallet för tidsstämplar som stöds är -290308-12-21 BCE 19:59:06 till +294247-01-10 CE 04:00:54.

Literaler

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]' }
  • + eller -: Ett valfritt tecken. - anger BCE, + anger CE (standard).
  • yyyy: Ett år med minst fyra siffror.
  • [m]m: En eller tvåsiffrig månad mellan 01 och 12.
  • [d]d: En eller tvåsiffrig dag mellan 01 och 31.
  • h[h]: En eller tvåsiffrig timme mellan 00 och 23.
  • m[m]: En minut med en eller två siffror mellan 00 och 59.
  • s[s]: En eller två siffror sekund mellan 00 och 59.
  • [ms][ms][ms][us][us][us]: Upp till 6 siffror i bråksekunder.

Om komponenterna månad eller dag inte har angetts är de som standard 1. Om komponenterna timme, minut eller sekund inte anges är standardvärdet 0.

Om literalen inte representerar en korrekt tidsstämpel genererar Azure Databricks ett fel.

Kommentar

  • För närvarande TIMESTAMP_NTZ stöds inte typen i:
    • Foton
    • Deltadelning
    • Databricks-datakällor som används i Power BI-, Tableau-, Databricks JDBC/ODBC-drivrutiner eller Databricks-öppen källkod drivrutiner.
  • TIMESTAMP_NTZ typ stöds i filkällor, inklusive Delta/Parquet/ORC/AVRO/JSON/CSV. Det finns dock en begränsning för schemainferensen för JSON/CSV-filer med TIMESTAMP_NTZ kolumner. För bakåtkompatibilitet är den härledda standardtidsstämpeltypen från spark.read.csv(...) eller spark.read.json(...) TIMESTAMP-typ i stället för TIMESTAMP_NTZ.

Exempel

> 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