TIMESTAMP_NTZ
type
Van toepassing op: Databricks SQL 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_NTZ
columnswilt 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 vanspark.read.csv(...)
ofspark.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