在 Snowflake 中对 Postgres 中的 tstzrange 和 tsrange 类型使用什么
What to use in Snowflake for tstzrange and tsrange types from Postgres
我正在将 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 的内容。但这些不是范围类型。
在 Snowflake 中支持来自 Postgres 的这些范围时间戳类型的最佳方法是什么?
在 Postgres 中
- tsrange 包含没有时区的时间戳
- tstzrange 包含带时区的时间戳
timestamp_ntz 和 timestamp_tz 的 Snowflake 别名与 Postgres 类型完全匹配。
现在 Postgres ranges 实际上包含 3 项:下限、上限和边界 inclusion/exclusion。这是可能导致问题的边界——您可能必须手动更改查询以适应它们。还要注意范围内的无穷大 (+-)。 (请参阅上述参考文档中的 8.17.3 和 8.17.4 部分。)
我正在将 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 的内容。但这些不是范围类型。
在 Snowflake 中支持来自 Postgres 的这些范围时间戳类型的最佳方法是什么?
在 Postgres 中
- tsrange 包含没有时区的时间戳
- tstzrange 包含带时区的时间戳
timestamp_ntz 和 timestamp_tz 的 Snowflake 别名与 Postgres 类型完全匹配。
现在 Postgres ranges 实际上包含 3 项:下限、上限和边界 inclusion/exclusion。这是可能导致问题的边界——您可能必须手动更改查询以适应它们。还要注意范围内的无穷大 (+-)。 (请参阅上述参考文档中的 8.17.3 和 8.17.4 部分。)