Snowflake cloud data platform 雪花使用重复/空格内值clasue

Snowflake cloud data platform 雪花使用重复/空格内值clasue,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,具有单列的简单方案表: CREATE OR REPLACE TABLE t1(c VARCHAR(200)); INSERT INTO t1(c) SELECT repeat('a',100); -- works INSERT INTO t1(c) VALUES (repeat('a',100)); -- error INSERT INTO t1(c) SELECT space(100); -- works INSERT INTO t1(c) VALUES (space(100)); --

具有单列的简单方案表:

CREATE OR REPLACE TABLE t1(c VARCHAR(200));

INSERT INTO t1(c) SELECT repeat('a',100); -- works 
INSERT INTO t1(c) VALUES (repeat('a',100)); -- error

INSERT INTO t1(c) SELECT space(100); -- works
INSERT INTO t1(c) VALUES (space(100)); -- error

SELECT c, LENGTH(c) FROM t1;
SQL编译错误:VALUES子句中的表达式[LPAD,CAST100*CASTLENGTH'a'作为NUMBER18,0作为NUMBER21,0,'a']无效


表达式/函数调用与INSERT…一起使用是否有限制。。。值还是它只是一个bug?

这些表达式似乎是简单的字符串函数,但从编译器翻译函数的方式来看,它似乎不再是一个简单的函数

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

为什么不使用变量呢

set my_spaces=(SELECT space(100)); 
set my_aaaa= (SELECT repeat('a',100)); 

CREATE OR REPLACE TABLE t1(c VARCHAR(200)); 

INSERT INTO t1(c) SELECT repeat('a',100); -- works 

INSERT INTO t1(c) VALUES ($my_aaaa); -- works

INSERT INTO t1(c) SELECT space(100); -- works 

INSERT INTO t1(c) VALUES ( $my_spaces ); -- works

SELECT c, LENGTH(c) FROM t1; 

很公平。这一限制将来会被取消吗?或者唯一的解决办法是插入。。。选择