【问题标题】:What to use in Snowflake for tstzrange and tsrange types from PostgresPostgres 的 tstzrange 和 tsrange 类型在 Snowflake 中使用什么
【发布时间】:2019-09-17 06:06:10
【问题描述】:

我正在将 Postgres 中的表复制到 Snowflake 并在 Postgres 中遇到这些类型的 tstzrange 和 tsrange,我不确定 Snowflake 是否支持。

我在 Snowflake 文档 (https://docs.snowflake.net/manuals/sql-reference/data-types-datetime.html#timestamp-ltz-timestamp-ntz-timestamp-tz) 中看到了类似 TIMESTAMP_LTZ、TIMESTAMP_NTZ 和 TIMESTAMP_TZ 的内容。但这些不是范围类型。

从 Postgres 在 Snowflake 中支持这些范围时间戳类型的最佳方式是什么?

【问题讨论】:

    标签: postgresql replication sqldatatypes snowflake-cloud-data-platform


    【解决方案1】:

    在 Postgres 中

    • tsrange 包含没有时区的时间戳
    • tstzrange 包含带有时区的时间戳

    timestamp_ntz 和 timestamp_tz 的 Snowflake 别名与 Postgres 类型完全匹配。

    现在Postgres ranges 实际上包含 3 个项目:下限、上限和边界包含/排除。这是可能导致问题的边界 - 您可能必须手动更改查询以适应它们。还要注意范围内的无穷大 (+-)。 (请参阅上述参考文档中的 8.17.3 和 8.17.4 部分。)

    【讨论】:

      猜你喜欢
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 2022-01-23
      • 2013-09-22
      • 2020-12-16
      • 2023-03-21
      相关资源
      最近更新 更多