Javascript snowflake 函数将当前日期附加到表名

Javascript function in snowflake to append tablename with current date

最近开始使用snowflake,一直卡在这个问题:

我想将名为 AB_USER 的 table 克隆到 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.';
  $$;

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

我对 snowflake 很陌生,因此非常感谢任何帮助。

谢谢。

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.";
$$
;