Snowflake中用变量调用SPLIT_TO_TABLE报错:不支持VAR1数据类型
解决split_to_table传入变量报错的问题
问题场景
声明变量并尝试拆分字符串:
declare VAR1 varchar; let VAR1 := '001,002,sam1'; select tbl1.value from table(split_to_table(:VAR1, ',')) as tbl1;
执行后报错:unsupported datatype VAR1
修复方案
在Snowflake的脚本或存储过程中,引用已声明的变量无需添加冒号:, 直接使用变量名即可。修改后的SQL如下:
declare VAR1 varchar; let VAR1 := '001,002,sam1'; select tbl1.value from table(split_to_table(VAR1, ',')) as tbl1;
额外说明
- 该报错是因为错误使用了变量绑定符号,存储过程内部的本地变量直接引用名称即可,
:VAR1的写法仅适用于外部会话的变量绑定场景 - 若使用其他支持类似拆分函数的SQL环境(如PostgreSQL的
string_to_table),需对应调整函数名,但变量引用逻辑同理:已声明的本地变量直接使用名称
内容的提问来源于stack exchange,提问作者MSG
相关产品推荐
相关产品推荐

