如何在Snowflake中使用变量调用返回表类型的SQL UDF?
Snowflake传递会话变量给返回TABLE的UDF的解决方法
在Snowflake中,用SET定义的会话变量需要通过**$前缀**来引用,直接使用变量名会被解析为列名或标识符,导致无法正确传递参数到UDF。
正确的执行代码
SET FROM_DT=20250101; SET TO_DT=20250131; SELECT T.* FROM (DBNAME.SCHMANMAE.UDF_RPT($FROM_DT, $TO_DT)) T;
额外说明
如果你的UDF参数要求的是DATE类型而非数字类型,需要对变量做类型转换:
SET FROM_DT=20250101; SET TO_DT=20250131; SELECT T.* FROM (DBNAME.SCHMANMAE.UDF_RPT(TO_DATE($FROM_DT::STRING, 'YYYYMMDD'), TO_DATE($TO_DT::STRING, 'YYYYMMDD'))) T;
内容的提问来源于stack exchange,提问作者Veera V
相关产品推荐
相关产品推荐

