雪花中的Javascript函数,用于将表名附加到当前日期



我最近开始使用雪花,一直被困在这个问题上:

我想克隆一个名为 AB_USER 到 AB_USER_(current_date( 的表。我编写了以下代码来完成此操作:

CREATE or replace PROCEDURE backup_proc()
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var tab_name = `AB_USER_BCK_2020_`+ current_date();
stat = `create or replace table staging.` + tab_name + ` clone staging.AB_USER`;
var rs = snowflake.execute( { sqlText: stat} );
return 'Done.';
$$;

问题是我找不到合适的函数来获取当前日期。雪花提供了一个JS环境,但我不知道使用哪个函数来获取当前日期。

我对雪花很陌生,所以任何这方面的帮助将不胜感激。

谢谢。

CURRENT_DATE是一个SQL命令,所以你需要用snowflake.execute将其作为SQL语句调用。

如我所见,您希望从当前日期获取月份和日期的值,因此您可以使用以下过程:

CREATE or replace PROCEDURE backup_proc()
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var curdate = snowflake.execute( { sqlText: "SELECT TO_CHAR(CURRENT_DATE,'MMDD') as curdate"}  );
curdate.next();
var tab_name = "AB_USER_BCK_2020_"+ curdate.getColumnValue('CURDATE');
var stat = "create or replace table staging." + tab_name + " clone staging.AB_USER";
var rs = snowflake.execute( { sqlText: stat} );
return "Done.";
$$
;

相关内容

最新更新