我有一个 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)
相当于
TIMESTAMP_TZ
类型。
来自文档:
在内部存储 UTC 时间以及关联的时区偏移量。如果未提供时区,则使用会话时区偏移量。所有操作均使用每个记录特定的时区偏移量来执行。TIMESTAMP_TZ
这与 SQL Server 中的
datetimeoffset
中的相同概念一致,因为偏移量与日期和时间一起存储在单个字段中。
还接着说:
值根据 UTC 时间进行比较。TIMESTAMP_TZ
SQL Server 中的
datetimeoffset
也是如此。
两者之间的主要区别在于 SQL Server 没有“会话时区”的概念,但如果您不提供偏移量,则仅在 Snowflake 的
TIMESTAMP_TZ
类型中才重要。