Tipo deTIMESTAMP_NTZ
Se aplica a: Databricks SQL 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 despark.read.csv(...)
ospark.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