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 values bestaande uit values 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 tableinschakelen. Functieondersteuning wordt automatisch ingeschakeld wanneer u een nieuwe Delta-table maakt met een column van het type TIMESTAMP_NTZ. Deze functie wordt niet automatisch ingeschakeld wanneer u een column van TIMESTAMP_NTZ type toevoegt aan een bestaande table. Als u ondersteuning voor TIMESTAMP_NTZcolumnswilt inschakelen, moet ondersteuning voor de functie expliciet worden ingeschakeld voor de bestaande table.

Als u ondersteuning inschakelt, wordt uw table-protocol bijgewerkt. 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 SQL of 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 schema deductie voor JSON-/CSV-bestanden met TIMESTAMP_NTZ columns. 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