使用SQL,可以通过以下步骤从一个逗号分隔列表的2D数组创建一个新表:
下面是一个示例SQL代码,演示如何从一个逗号分隔列表的2D数组创建一个新表:
-- 创建新表
CREATE TABLE new_table (
id INT,
value TEXT
);
-- 原始逗号分隔的2D数组
DECLARE @csv_array TEXT = '1,2,3;4,5,6;7,8,9';
-- 拆分逗号分隔的2D数组为行
WITH split_rows AS (
SELECT
SPLIT_PART(row_values, ',', 1) AS col1,
SPLIT_PART(row_values, ',', 2) AS col2,
SPLIT_PART(row_values, ',', 3) AS col3
FROM (
SELECT UNNEST(STRING_TO_ARRAY(@csv_array, ';')) AS row_values
) AS rows
)
-- 插入拆分后的值到新表
INSERT INTO new_table (id, value)
SELECT
CAST(col1 AS INT),
col2 || ',' || col3
FROM split_rows;
在上述示例中,我们首先创建了一个名为new_table
的新表,定义了两个列id
和value
。然后,我们使用字符串函数将逗号分隔的2D数组拆分为行,并使用INSERT INTO语句将拆分后的值插入到新表中。
请注意,上述示例中的代码是一种通用的SQL实现方式,具体的语法和函数可能因不同的数据库而有所差异。在实际使用时,请根据所使用的数据库类型和版本进行相应的调整。
领取专属 10元无门槛券
手把手带您无忧上云