首页 > 解决方案 > 为什么 BigQuery 包装/舍入时间戳的最大值?

问题描述

根据官方文档,BigQuery 支持类型的0001-01-01 00:00:00 to 9999-12-31 23:59:59.999999 UTC范围Timestamp。但是,当我们尝试将值设置为 时9999-12-31 23:59:59.999999Z,BigQuery 会返回10000-01-01 00:00:00 UTC

#standardSQL
SELECT
  min_timestamp,
  max_timestamp,
  UNIX_MICROS(min_timestamp) AS min_unix_micros,
  UNIX_MICROS(max_timestamp) AS max_unix_micros
FROM (
  SELECT
    TIMESTAMP '0001-01-01 00:00:00.000000Z' AS min_timestamp,
    TIMESTAMP '9999-12-31 23:59:58.999999Z' AS max_timestamp
);

这是一个错误,还是我们做错了什么?用例是结束记录,这是其他 DW/DB 的常见做法。

标签: google-bigquery

解决方案


推荐阅读