如何处理雪花中的datetimeoffset(7)数据类型?

问题描述 投票:0回答:1

我有一个 DDL,它在 sql server 中具有数据类型 datetimeoffset(7) 的 LastUpdatedTime。雪花中的等效数据类型是什么,或者如何处理它以获得源中的准确值。

我尝试使用 LastUpdatedTime TimeStamp_TZ(9)

SQLServer 来源:2023-05-16 18:33:20.8659596 +00:00 雪花: 2023-05-16 18:33:20.865 +0000

而不是使用 FORMAT(CAST(LASTUPDATEDTIME AS DATETIME), N'yyyy-MM-dd HH:mm:ss'),如何保留具有偏移量的相同日期值或保留日期时间格式(yyyy-MM-dd HH:mm: SS)

timezone snowflake-cloud-data-platform ddl sqldatatypes timezone-offset
1个回答
0
投票

相当于

TIMESTAMP_TZ
类型。

来自文档

TIMESTAMP_TZ
在内部存储 UTC 时间以及关联的时区偏移量。如果未提供时区,则使用会话时区偏移量。所有操作均使用每个记录特定的时区偏移量来执行。

这与 SQL Server 中的

datetimeoffset
中的相同概念一致,因为偏移量与日期和时间一起存储在单个字段中。

还接着说:

TIMESTAMP_TZ
值根据 UTC 时间进行比较。

SQL Server 中的

datetimeoffset
也是如此。

两者之间的主要区别在于 SQL Server 没有“会话时区”的概念,但如果您不提供偏移量,则仅在 Snowflake 的

TIMESTAMP_TZ
类型中才重要。

© www.soinside.com 2019 - 2024. All rights reserved.