【问题标题】:Copy data from col1 (integer) to col2 (integer[])将数据从 col1 (integer) 复制到 col2 (integer[])
【发布时间】:2019-05-06 08:16:56
【问题描述】:

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

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

col2 应该包含

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

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

【问题讨论】:

  • 使用的数据库是PostgreSQL

标签: arrays postgresql


【解决方案1】:

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

【讨论】:

  • 谢谢。我尝试了更多查询,问题通过使用得到解决:'UPDATE table set col1=Array [col2] where col1 is not null;'
猜你喜欢
  • 1970-01-01
  • 2021-05-22
  • 2015-09-15
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-26
  • 2014-01-24
相关资源
最近更新 更多