Compartir vía


Tipo deTIMESTAMP_NTZ

Se aplica a: casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 13.3 LTS y versiones posteriores

Representa valores que comprenden valores de los campos: año, mes, día, hora, minuto y segundo. Todas las operaciones se realizan sin tener en cuenta ninguna zona horaria.

Esta característica está en versión preliminar pública. Consulte la sección Notas para ver las características no compatibles.

Para usar esta característica en Delta Lake, debe habilitar la compatibilidad con la tabla. La compatibilidad de características se habilita automáticamente al crear una nueva tabla Delta con una columna de tipo TIMESTAMP_NTZ. No se habilita automáticamente al agregar una columna de tipo TIMESTAMP_NTZ a una tabla existente. Para habilitar la compatibilidad con columnas TIMESTAMP_NTZ, la compatibilidad con la característica debe estar habilitada explícitamente para la tabla existente.

Al habilitar la compatibilidad, se actualiza el protocolo de tabla. Consulte ¿Cómo administra Azure Databricks la compatibilidad de características de Delta Lake?. El siguiente comando habilita esta característica:

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

Sintaxis

TIMESTAMP_NTZ

Límites

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

Literales

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

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 el literal no representa una marca de tiempo adecuada de Azure Databricks genera un error.

Notas

TIMESTAMP_NTZ tiene las siguientes limitaciones:

  • La compatibilidad con Photon requiere Databricks Runtime 15.4 y versiones posteriores.
  • No es compatible con orígenes de datos de Databricks usados en Power BI, Tableau, controladores JDBC/ODBC de Databricks o controladores de código abierto de Databricks.
  • No es compatible con Delta Sharing en Databricks Runtime 14.0 y versiones posteriores.
  • El tipo TIMESTAMP_NTZ es compatible en orígenes de archivo como Delta/Parquet/ORC/AVRO/JSON/CSV. Sin embargo, hay una limitación en la inferencia de esquema para los archivos JSON/CSV con columnas TIMESTAMP_NTZ. Por motivos de compatibilidad con versiones anteriores, el tipo de marca de tiempo inferido predeterminado a partir de spark.read.csv(...) o spark.read.json(...) será el tipo TIMESTAMP en lugar de TIMESTAMP_NTZ.

Ejemplos

> 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