Tipo deTIMESTAMP

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Representa valores que de campos de año, mes, día, hora, minuto y segundo, con la zona horaria local de la sesión. El valor de marca de tiempo representa un punto absoluto en el tiempo.

Sintaxis

TIMESTAMP

Límites

El intervalo de marca de tiempo admitido es de -290308-12-21 BCE 19:59:06 GMT a +294247-01-10 CE 04:00:54 GMT.

Literales

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 -: un signo opcional. - indica BCE, + indica CE (valor predeterminado).
  • yyyy: un año que comprende al menos cuatro dígitos.
  • [m]m: mes de uno o dos dígitos entre 01 y 12.
  • [d]d: día de uno o dos dígitos entre 01 y 31.
  • h[h]: día de uno o dos dígitos entre 00 y 23.
  • m[m]: minuto de uno o dos dígitos entre 00 y 59.
  • s[s]: un segundo de uno o dos dígitos entre 00 y 59.
  • [ms][ms][ms][us][us][us]: hasta 6 dígitos de fracciones de segundo.

zoneId:

  • Z - zona horaria Zulú UTC+0
  • +|-[h]h:[m]m
  • Un identificador con uno de los prefijos UTC+, UTC-, GMT+, GMT-, UT+ o UT-, y un sufijo en los formatos:
    • +|-h[h]
    • +|-hh[:]mm
    • +|-hh:mm:ss
    • +|-hhmmss
  • Los identificadores de zona basados en regiones con el formulario <area>/<city>, por ejemplo, Europe/Paris.

Si no se especifican los componentes de mes o día, el valor predeterminado es 1. Si no se especifican componentes de hora, minuto o segundo, el valor predeterminado es 0. Si no se especifica zoneId, se utiliza la zona horaria de sesión como valor predeterminado.

Si el literal no representa una marca de tiempo adecuada de Azure Databricks genera un error.

Notas

Las marcas de tiempo con zona horaria local se normalizan internamente y se conservan en UTC. Cada vez que se extrae el valor o una parte de él, se aplica la zona horaria de la sesión local.

Ejemplos

> 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