TypeTIMESTAMP_NTZ

S’applique à :coche marquée oui Databricks SQL case marquée oui Databricks Runtime 13.3 LTS et versions ultérieures

Représente des valeurs comprenant les valeurs des champs année, mois, jour, heure, minute et seconde. Toutes les opérations sont effectuées sans prendre en compte aucun fuseau horaire.

Cette fonctionnalité est disponible en préversion publique. Consultez la section Notes pour connaître les fonctionnalités non prises en charge.

Pour utiliser cette fonctionnalité sur Delta Lake, vous devez activer la prise en charge de la table. La prise en charge des fonctionnalités est activée automatiquement lorsque vous créez une nouvelle table Delta avec une colonne de type TIMESTAMP_NTZ. Elle n’est pas activée automatiquement lorsque vous ajoutez une colonne de type TIMESTAMP_NTZ à une table existante. Pour activer la prise en charge des colonnes TIMESTAMP_NTZ, la prise en charge de la fonctionnalité doit être explicitement activée pour la table existante.

L’activation de la prise en charge met à niveau le protocole de votre table. Consultez Comment Azure Databricks gère-t-il la compatibilité des fonctionnalités Delta Lake ?. La commande suivante permet d’activer cette fonctionnalité :

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

Syntaxe

TIMESTAMP_NTZ

limites

La plage de timestamps pris en charge est de -290308-12-21 BCE 19:59:06 à +294247-01-10 CE 04:00:54.

Littéraux

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]' }
  • + ou - : signe facultatif. - indique BCE, + indique CE (valeur par défaut).
  • yyyy : année comprenant au moins quatre chiffres.
  • [m]m : mois à un ou deux chiffres entre 01 et 12.
  • [d]d : jour à un ou deux chiffres entre 01 et 31.
  • h[h] : jour à un ou deux chiffres entre 00 et 23.
  • m[m] : mois à un ou deux chiffres entre 00 et 59.
  • s[s] : seconde à ou deux chiffres entre 00 et 59.
  • [ms][ms][ms][us][us][us] : jusqu’à six chiffres de fractions de seconde.

Si les composants Mois ou Jour ne sont pas spécifiés, leur valeur par défaut est 1. Si les composants Heure, Minute ou Seconde ne sont pas spécifiés, leur valeur par défaut est 0.

Si le littéral ne représente pas un horodatage correct, Azure Databricks déclenche une erreur.

Notes

  • Actuellement, le type TIMESTAMP_NTZ n’est pas encore pris en charge dans :
    • Photon
    • Delta Sharing
    • Sources de données Databricks utilisées dans Power BI, Tableau, les pilotes Databricks JDBC/ODBC ou les pilotes Databricks open source.
  • Le type TIMESTAMP_NTZ est pris en charge dans les sources de fichiers, notamment Delta/Parquet/ORC/AVRO/JSON/CSV. Toutefois, l’inférence du schéma est limitée pour les fichiers JSON/CSV contenant des colonnes TIMESTAMP_NTZ. Pour la compatibilité descendante, le type d’horodatage déduit par défaut de spark.read.csv(...) ou spark.read.json(...) sera le type TIMESTAMP au lieu de TIMESTAMP_NTZ.

Exemples

> 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