TypeTIMESTAMP

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Représente les valeurs des champs Année, Mois, Jour, Heure, Minute et Seconde, avec le fuseau horaire local de la session. La valeur d’horodatage représente un point absolu dans le temps.

Syntaxe

TIMESTAMP

limites

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

Littéraux

TIMESTAMP 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][zoneId]' }
  • + 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.

zoneId :

  • Z - fuseau horaire Zoulou UTC + 0
  • +|-[h]h:[m]m
  • Un ID avec l’un des préfixes UTC +, UTC-, GMT +, GMT-, UT + ou UT-, et un suffixe dans les formats :
    • +|-h[h]
    • +|-hh[:]mm
    • +|-hh:mm:ss
    • +|-hhmmss
  • ID de zone basés sur une région sous la forme <area>/<city>, par exemple, Europe/Paris.

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 aucun zoneId n’est spécifié, la valeur par défaut est le fuseau horaire de session.

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

Notes

Les timestamps avec fuseau horaire local sont normalisés en interne et persistants au format UTC. Chaque fois que la valeur ou une partie de celle-ci est extraite, le fuseau horaire de la session locale est appliqué.

Exemples

> SELECT TIMESTAMP'0000';
  0000-01-01 00:00:00

> SELECT TIMESTAMP'2020-12-31';
  2020-12-31 00:00:00

> SELECT TIMESTAMP'2021-7-1T8:43:28.123456';
  2021-07-01 08:43:28.123456

> SELECT current_timezone(), TIMESTAMP'2021-7-1T8:43:28UTC+3';
  America/Los_Angeles 2021-06-30 22:43:28

> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP)
  1908-03-15 10:01:17

> SELECT TIMESTAMP'+10000';
  +10000-01-01 00:00:00