Insert
如何使用 SQL 將數據插入到 Snowflake 表的 ARRAY 列中?
我很難找到有關如何在 Snowflake 表上使用 SQL 將數據插入 ARRAY 列類型的文件。
雪花文件:https ://docs.snowflake.net/manuals/sql-reference/data-types-semistructured.html#array
// example table CREATE OR REPLACE TABLE array_test_table ( id number, ids array ); // This does not work INSERT INTO array_test_table (id, ids) VALUES (1, '[1,2,3]' );
我嘗試使用類似此處描述的 postgres 語法:https ://stackoverflow.com/questions/33335338/inserting-array-values
我最初在這裡問了這個問題:雪花社區
看起來您需要應用一個函式來解析數組。截至 2018 年 9 月 13 日,值列表中不允許使用函式,請參閱Is there a literal syntax for arrays
解決此問題的一種方法是結合 INSERT INTO 和 SELECT 語句。例子:
CREATE OR REPLACE TABLE array_test_table ( id number, ids array ); INSERT INTO array_test_table (id, ids) SELECT $1, PARSE_JSON($2) FROM VALUES (1, '[1,2,3]' );
另一種選擇是使用 ARRAY_CONSTRUCT(1,2,3) 而不是解析 JSON。
INSERT INTO array_test_table (id, ids) SELECT (1, ARRAY_CONSTRUCT(1,2,3) );
https://docs.snowflake.com/en/sql-reference/functions/array_construct.html