Permite almacenar un instante temporal, que puede expresarse como una fecha del calendario y una hora del día, con una precisión de subsegundos definida.
Tamaño de tick (precisión): 10-precision segundos. Rango válido: [ 0 : 9 ].
Normalmente se usan 3 (milisegundos), 6 (microsegundos) y 9 (nanosegundos).
Valor predeterminado: 3 (milisegundos).
Sintaxis:
Internamente, almacena los datos como una cantidad de ‘ticks’ desde el inicio de la epoch (1970-01-01 00:00:00 UTC) como Int64. La resolución de los ticks la determina el parámetro de precisión. Además, el tipo DateTime64 puede almacenar una zona horaria que es la misma para toda la columna, lo que afecta a cómo se muestran en formato de texto los valores del tipo DateTime64 y a cómo se analizan los valores especificados como cadenas (‘2020-01-01 05:00:01.000’). La zona horaria no se almacena en las filas de la tabla (ni en el conjunto de resultados), sino en los metadatos de la columna. Consulte más detalles en DateTime.
Rango de valores admitido: [1900-01-01 00:00:00, 2299-12-31 23:59:59.999999999]
La cantidad de dígitos después del punto decimal depende del parámetro de precisión.
Nota: La precisión del valor máximo es 8. Si se usa la precisión máxima de 9 dígitos (nanosegundos), el valor máximo admitido es 2262-04-11 23:47:16 en UTC.
- Crear una tabla con una columna de tipo
DateTime64 e insertar datos en ella:
- Al insertar un datetime como entero, se trata como un Unix timestamp (UTC) con la escala adecuada.
1546300800000 (con precisión 3) representa '2019-01-01 00:00:00' UTC. Sin embargo, como la columna timestamp tiene especificada la zona horaria Asia/Istanbul (UTC+3), al mostrarlo como cadena, el valor aparecerá como '2019-01-01 03:00:00'. Insertar un datetime como decimal se trata de forma similar a un entero, salvo que el valor antes del punto decimal es el Unix timestamp hasta los segundos inclusive, y el valor después del punto decimal se interpreta como la precisión.
- Al insertar un valor de cadena como datetime, se trata como si estuviera en la zona horaria de la columna.
'2019-01-01 00:00:00' se interpretará como si estuviera en la zona horaria Asia/Istanbul y se almacenará como 1546290000000.
- Filtrado de valores
DateTime64
A diferencia de DateTime, los valores de DateTime64 no se convierten automáticamente a partir de String.
A diferencia de la inserción, la función toDateTime64 tratará todos los valores como la variante decimal, por lo que la precisión debe
indicarse después del punto decimal.
- Obtener una zona horaria de un valor de tipo
DateTime64:
- Conversión de zona horaria
Véase también
Última modificación el 2 de julio de 2026