Condividi tramite


Tipo diTIMESTAMP

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Rappresenta i valori che comprendono i valori di campi anno, mese, giorno, ora, minuto e secondo, con il fuso orario locale della sessione. Il valore timestamp rappresenta un punto assoluto nel tempo.

Sintassi

TIMESTAMP

Limiti

L'intervallo di timestamp supportati è da -290308-12-21 BCE 19:59:06 GMT a +294247-01-10 CE 04:00:54 GMT.

Valori letterali

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]' }
  • + o -: segno facoltativo. - indica l'opzione BCE, + indica CE (impostazione predefinita).
  • yyyy: un anno che comprende almeno quattro cifre.
  • [m]m: un mese di una o due cifre compreso tra 01 e 12.
  • [d]d: un giorno di una o due cifre compreso tra 01 e 31.
  • h[h]: un'ora di una o due cifre compresa tra 00 e 23.
  • m[m]: un minuto di una o due cifre compreso tra 00 e 59.
  • s[s]: secondo di una o due cifre compreso tra 00 e 59.
  • [ms][ms][ms][us][us][us]: fino a 6 cifre di secondi frazionari.

zoneId:

  • Z - Fuso orario Zulu UTC+0
  • +|-[h]h:[m]m
  • ID con uno dei prefissi UTC+, UTC-, GMT+, GMT-, UT+ o UT-e un suffisso nei formati:
    • +|-h[h]
    • +|-hh[:]mm
    • +|-hh:mm:ss
    • +|-hhmmss
  • ID di zona in base all'area nel formato <area>/<city>, ad esempio Europe/Paris.

Se i componenti mese o giorno non vengono specificati, per impostazione predefinita è 1. Se i componenti ora, minuto o secondo non vengono specificati per impostazione predefinita su 0. Se non viene specificato, zoneId per impostazione predefinita viene impostato il fuso orario della sessione,

Se il valore letterale non rappresenta un timestamp corretto, Azure Databricks genera un errore.

Note

I timestamp con fuso orario locale vengono normalizzati internamente e resi persistenti in formato UTC. Ogni volta che viene estratto il valore o una parte di esso, viene applicato il fuso orario della sessione locale.

Esempi

> 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