【发布时间】:2019-05-06 08:16:56
【问题描述】:
需要将整数类型的列中的值复制到整数数组类型的另一列。整数数组列也有空值。例如。 col1 包含
1, 3, 5, 7, null, 8, 2
col2 应该包含
{1}, {3}, {5}, {7}, {}, {8}, {2}
无法为任务创建特定脚本。
【问题讨论】:
-
使用的数据库是PostgreSQL
标签: arrays postgresql
需要将整数类型的列中的值复制到整数数组类型的另一列。整数数组列也有空值。例如。 col1 包含
1, 3, 5, 7, null, 8, 2
col2 应该包含
{1}, {3}, {5}, {7}, {}, {8}, {2}
无法为任务创建特定脚本。
【问题讨论】:
标签: arrays postgresql
我不知道 col1 和 col2 在哪里,但是要以所需格式获取 col1 的数据,您可以这样做:
SELECT
CASE
WHEN col1 IS NULL THEN ARRAY[]::int[]
ELSE ARRAY[col1]
END
FROM table;
如果 col2 在同一张桌子上,并且您想将 UPDATE col2 设置为这些值:
UPDATE table
SET col2 = CASE
WHEN col1 IS NULL THEN ARRAY[]::int[]
ELSE ARRAY[col1]
END;
【讨论】: