首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在雪花中创建表格,并以UTC为时间戳

在雪花中创建表格,并以UTC为时间戳
EN

Stack Overflow用户
提问于 2021-06-17 05:03:12
回答 2查看 209关注 0票数 1

我试着去创造。在雪花中稳定,确保时间戳是CURRENT_TIMESTAMP(),但使用UTC。下面是我正在使用的语法;

代码语言:javascript
复制
 ALTER SESSION SET TIMEZONE = 'UTC';
CREATE OR REPLACE TABLE DATA_LAKE.CUSTOMER.ACT_PREDICTED_PROBABILITIES_DATAROBOT(
 ACCOUNT_ID NUMBER NOT NULL PRIMARY KEY,
 PREDICTED_PROBABILITY FLOAT,
TIME_PREDICTED TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

但是在这个表中插入行之后,我仍然可以得到美国/洛杉矶时间格式的时间。

代码语言:javascript
复制
479291 0.5797053576  2021-06-16 13:56:26.595

我能得到关于如何获得UTC时间戳的帮助吗?感谢您的帮助。

EN

回答 2

Stack Overflow用户

发布于 2021-06-17 05:19:49

对于时间戳和时区之间的转换,有一些选项。我建议您熟悉一下three different kinds of timestamps

这是我们通常使用的:CONVERT_TIMEZONE('UTC', current_timestamp())::timestamp_ntz

无论Snowflake实例默认设置为哪个时区,转换都应将您转换为UTC。而timestamp_ntz (无时区)是没有任何时区信息的时间戳,如果您知道它将始终是协调世界时,那么它工作得很好。

如果不太了解你的用例,我很难给出一个关于你应该使用哪种时区数据类型的全心全意的建议。这段代码应该只需要很小的调整就可以更改数据类型。

编辑:更完整的测试示例

代码语言:javascript
复制
CREATE OR REPLACE TABLE DATA_LAKE.CUSTOMER.ACT_PREDICTED_PROBABILITIES_DATAROBOT(
 ACCOUNT_ID NUMBER NOT NULL PRIMARY KEY,
TIME_PREDICTED1 TIMESTAMP_NTZ DEFAULT CONVERT_TIMEZONE('UTC',CURRENT_TIMESTAMP)::timestamp_ntz,
TIME_PREDICTED2 TIMESTAMP_NTZ DEFAULT CONVERT_TIMEZONE('America/Los_Angeles',CURRENT_TIMESTAMP)::timestamp_ntz
);

insert into DATA_LAKE.CUSTOMER.ACT_PREDICTED_PROBABILITIES_DATAROBOT (account_id)
select 1;

select * from DATA_LAKE.CUSTOMER.ACT_PREDICTED_PROBABILITIES_DATAROBOT;

编辑2:我认为你的版本不能工作的原因是因为会话时区没有被default约束“记住”。该default将在将来的insert查询中使用任何会话时区,这是在这里显式指定时区的另一个原因。

票数 0
EN

Stack Overflow用户

发布于 2021-06-17 08:08:15

大卫的答案是有效的。您还必须将数据类型更改为TIMESTAMPNTZ

CREATE OR REPLACE TABLE DATA_LAKE.CUSTOMER.ACT_PREDICTED_PROBABILITIES_DATAROBO( ACCOUNT_ID NUMBER NOT NULL主键,PREDICTED_PROBABILITY FLOAT,TIME_PREDICTED TIMESTAMPNTZ DEFAULT CONVERT_TIMEZONE('UTC',current_timestamp())::TIMESTAMPNTZ );

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68009973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档