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;
很公平。这一限制将来会被取消吗?或者唯一的解决办法是插入。。。选择