首页 > 解决方案 > 雪花数据仓库获取时间戳并在插入语句中使用它

问题描述

我正在尝试在变量中获取 current_timestamp()::timestamp_ntz 并尝试在插入语句中使用该变量作为时间戳数据类型,它给出错误,当我调试格式为“2019 年 12 月 9 日星期一 04:24:50 GMT- 0800 (PST)”在过程的返回语句中。当我尝试使用该变量插入时间戳列时,它会给出错误。如何解决这个问题。

标签: inserttimestampsnowflake-cloud-data-platform

解决方案


尝试使用 Snowflake 的变量。您看到的问题是因为您将 current_timestamp() 设置为文本字符串,然后尝试将其重新插入,但 JS 正在更改格式。执行以下操作:

SET var = current_timestamp();

INSERT INTO XXX(LOAD_END_TS) VALUES ($var);

这将在会话期间起作用。您可以尝试的另一件事是将 JS 中的 INSERT 更改为:

var rs = snowflake.execute( { sqlText: "select current_timestamp()::timestamp_ntz::varchar"} );
var my_sql_command = "INSERT INTO XXX(LOAD_END_TS) VALUES('"+end_ts+"'::timestamp_ntz);" ; 

推荐阅读