Delen via


TIMESTAMP_NTZ type

Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

Vertegenwoordigt waarden die bestaan uit waarden van velden jaar, maand, dag, uur, minuut en seconde. Alle bewerkingen worden uitgevoerd zonder rekening te houden met een tijdzone.

Deze functie is beschikbaar als openbare preview. Zie de sectie Notities voor niet-ondersteunde functies.

Als u deze functie wilt gebruiken in Delta Lake, moet u ondersteuning voor de tabel inschakelen. Functieondersteuning wordt automatisch ingeschakeld wanneer u een nieuwe Delta-tabel maakt met een kolom van het TIMESTAMP_NTZ type. Deze functie wordt niet automatisch ingeschakeld wanneer u een kolom van het TIMESTAMP_NTZ type toevoegt aan een bestaande tabel. Als u ondersteuning voor TIMESTAMP_NTZ kolommen wilt inschakelen, moet ondersteuning voor de functie expliciet zijn ingeschakeld voor de bestaande tabel.

Het inschakelen van ondersteuning werkt uw tabelprotocol bij. Zie Hoe beheert Azure Databricks de compatibiliteit van Delta Lake-functies? Met de volgende opdracht wordt deze functie ingeschakeld:

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

Syntaxis

TIMESTAMP_NTZ

Limieten

Het bereik van ondersteunde tijdstempels is -290308-12-21 BCE 19:59:06 aan +294247-01-10 CE 04:00:54.

Letterlijke waarden

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]' }
  • + of -: een optioneel teken. - geeft BCE aan, + geeft CE (standaard) aan.
  • yyyy: Een jaar dat uit ten minste vier cijfers bestaat.
  • [m]m: Een maand van één of twee cijfers tussen 01 en 12.
  • [d]d: Een of twee cijferige dag tussen 01 en 31.
  • h[h]: Een of twee cijferig uur tussen 00 en 23.
  • m[m]: Een of twee cijferige minuut tussen 00 en 59.
  • s[s]: Een of twee cijfers seconde tussen 00 en 59.
  • [ms][ms][ms][us][us][us]: Maximaal 6 cijfers van fractionele seconden.

Als de onderdelen van de maand of dag niet zijn opgegeven, worden ze standaard ingesteld op 1. Als er geen uur-, minuut- of tweede onderdelen worden opgegeven, worden ze standaard ingesteld op 0.

Als de letterlijke waarde geen juiste tijdstempel vertegenwoordigt, treedt er een fout op in Azure Databricks.

Opmerkingen

TIMESTAMP_NTZ heeft de volgende beperkingen:

  • Ondersteuning voor Photon vereist Databricks Runtime 15.4 en hoger.
  • Niet ondersteund in Databricks-gegevensbronnen die worden gebruikt in Power BI-, Tableau-, Databricks JDBC-/ODBC-stuurprogramma's of opensourcestuurprogramma's voor Databricks.
  • Wordt niet ondersteund in Delta Sharing in Databricks Runtime 14.0 en hieronder.
  • TIMESTAMP_NTZ het type wordt ondersteund in bestandsbronnen, waaronder Delta/Parquet/ORC/AVRO/JSON/CSV. Er is echter een beperking voor de schemadeductie voor JSON-/CSV-bestanden met TIMESTAMP_NTZ kolommen. Voor compatibiliteit met eerdere versies is het standaard uitgestelde tijdstempeltype van spark.read.csv(...) of spark.read.json(...) wordt het timesTAMP-type in plaats van TIMESTAMP_NTZ.

Voorbeelden

> 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