我想使用存储集成将数据上传到S3存储桶.我的查询如下所示:

COPY INTO @storage_int/subfolder/name_${date} FROM (SELECT * FROM table1);

我搞不懂的是如何声明一个变量,使表达式的计算结果为storage_int/subfolder/name_2022_13_07,或者在带有f"name_{date}"的Python中使用字符串格式化会达到什么效果.对于日期,我想使用CURRENT_DATE()函数.

推荐答案

使用Snowflake脚本和动态SQL:

BEGIN
   LET sql := 'COPY INTO @storage_int/subfolder/name_<date> 
               FROM (SELECT * FROM table1);';

   sql := REPLACE(sql, '<date>', TO_VARCHAR(CURRENT_DATE(), 'YYYY_MM_DD'));
   
   EXECUTE IMMEDIATE (sql);

   RETURN sql;
END;

Sql相关问答推荐

SQL更新,在2个额外的表上使用内部连接

对于表A中的每一行,更新表B中与金额有关的行

获取每5分钟时间间隔的总和

用于动态查询情况的存储过程常识模式

Postgres trunc_date删除一个月

我怎样才能得到列值对应的最大值在另一个?

从列中提取子字符串的ORDER BY CASE语句

Oracle中的时间戳

如何将insert语句重复n次使一个值递增?

日期逻辑(查找过go 90 天内的第一个匹配行)

统计重复记录的总数

如何解释 SQL Server 中的 Foxpro 语法?

清理 XML 数据

在SQL中实现表格数据透视类型报表

在where语句中使用CTE非常缓慢

每组使用平均值来填补缺失值的SQL

为重复的项目编号显示正在处理

As400 (IBM i) SQL 表 QSYS2.SYSTABLES 上的元数据

使用一组值进行分组和计数

在 Snowflake SQL 中计算通货inflating 率