将数据从col1(整数)复制到col2(整数[])

时间:2019-05-06 08:16:56

标签: arrays postgresql

需要将值从整数类型的一列复制到整数数组的另一列。同样,整数数组列也具有空值。例如。 col1包含

1, 3, 5, 7, null, 8, 2

和col2应该包含

{1}, {3}, {5}, {7}, {}, {8}, {2}

无法为任务创建特定的脚本。

1 个答案:

答案 0 :(得分:0)

我不知道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;