Tipo diTIMESTAMP
Si applica a: Databricks SQL 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 esempioEurope/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