SPLIT_PART函数在Snowflake存储过程的select语句中使用,返回空值



SPLIT_PART函数在Snowflake存储过程的select语句中使用,返回空值。

var stmt5 = snowflake.CreateStatement({sqltext:`Select SPLIT_PART(SPLIT_PART(:1,''/'',2),''.gz'',1)`,binds:[stagename]});
var queryText=stmt5.getSqlText();
var x=stmt5.execute();
x.next();

stagename是从List @my_stage命令结果中检索的,Split Part的结果在Copy命令中用于将记录插入雪花表。

如果有人回应将通过电子邮件分享代码,以帮助我解决这个问题。提前谢谢。

您使用的是带有反引号的JavaScript,因此不需要转义单引号。通过这样做,它实际上看起来像一个空字符串。这是它在SQL历史记录选项卡中的样子:

Select SPLIT_PART(SPLIT_PART(:1,''/'',2),''.gz'',1)

如果你输入一个文件名并尝试:

Select SPLIT_PART(SPLIT_PART('mypath/myfile.gz',''/'',2),''.gz'',1)

这实际上并不返回空值。这是一个语法错误,所以这个执行调用可能在try/catch块中。当您尝试使用。next()

时,它将返回空值试试单引号:

var stmt5 = snowflake.CreateStatement({sqltext:`Select SPLIT_PART(SPLIT_PART(:1,'/',2),'.gz',1)`,binds:[stagename]});

最新更新