Snowflake cloud data platform 对INSERT语句使用expression on values子句时雪花出现问题

Snowflake cloud data platform 对INSERT语句使用expression on values子句时雪花出现问题,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,嗨,我对雪花有这个问题。 我在Snowflake SP中有一些插入语句,如下所示: DROP TABLE表1; 创建表TABLE1(column1varchar(10)); 在表1中插入数值(“测试”| |微调(0)); 当我执行这些语句时,会出现如下错误: SQL编译错误:VALUES子句中的表达式['TEST'|'0']无效 snowflake中的VALUES子句是否有记录在案的限制。对此有何解决方法?请参阅此处的文档: 每个表达式必须是一个常量,或者可以是 在编译SQL语句期间作为常量计

嗨,我对雪花有这个问题。 我在Snowflake SP中有一些插入语句,如下所示:

DROP TABLE表1;
创建表TABLE1(column1varchar(10));
在表1中插入数值(“测试”| |微调(0));
当我执行这些语句时,会出现如下错误:
SQL编译错误:VALUES子句中的表达式['TEST'|'0']无效


snowflake中的VALUES子句是否有记录在案的限制。对此有何解决方法?

请参阅此处的文档:

每个表达式必须是一个常量,或者可以是 在编译SQL语句期间作为常量计算

大多数简单的算术表达式和字符串函数都可以 在编译时求值,但大多数其他表达式不能


在查看示例时,您对数值表达式使用了
TRIM
,这是不必要的。如果删除
TRIM()
,则示例工作正常。

根据此处的文档:

每个表达式必须是一个常量,或者可以是 在编译SQL语句期间作为常量计算

大多数简单的算术表达式和字符串函数都可以 在编译时求值,但大多数其他表达式不能


在查看示例时,您对数值表达式使用了
TRIM
,这是不必要的。如果删除
TRIM()
,则示例工作正常。

我找到了@mike walton描述的限制的解决方法。 你可以有机会:

插入表1中的值('TEST'| | TRIM(0));

插入表1,选择“测试”| |修剪(0);

它会起作用的

我找到了一个解决@mike walton描述的限制的方法。 你可以有机会:

插入表1中的值('TEST'| | TRIM(0));

插入表1,选择“测试”| |修剪(0);

它会起作用的

谢谢!我不知道这个限制。然而,我发现了一个解决办法,我发布为asnwerThanks!我不知道这个限制。不过,我发现了一个变通方法,我在asnwerI的帖子中提到了这一点,但由于您关注的是价值观,所以我假设有不止一个价值观。对多个值使用SELECT将导致需要大量的
UNION ALL
语句。你需要对数值进行修剪有什么原因吗?我并没有写过代码只是从另一个数据库到Snowflake。在这种情况下,它们有类似TRIM(“WEEK”| | TRIM(CODE))的内容,代码是一个varchar。我认为不需要额外的修剪,但也需要“周”| |修剪(代码)failing@MikeWalton如果我们有多个价值观,你会推荐什么?我本来想提出来的,但是因为你关注的是价值观,所以我假设不止一个价值观。对多个值使用SELECT将导致需要大量的
UNION ALL
语句。你需要对数值进行修剪有什么原因吗?我并没有写过代码只是从另一个数据库到Snowflake。在这种情况下,它们有类似TRIM(“WEEK”| | TRIM(CODE))的内容,代码是一个varchar。我认为不需要额外的修剪,但也需要“周”| |修剪(代码)failing@MikeWalton如果我们有多个值,您会推荐什么?