使用postgresql中的其他列更新数组类型的列

时间:2012-11-20 02:12:47

标签: arrays postgresql

我有一张这样的表:

+-----+------------+-------+--------+-----------+
| ID  |  val1      | val2  | val3   |  array_3  |
+-----+------------+-------+--------+-----------+
| 100 |  110       | 25    | 53     |{110,25,53}|
| 101 |  56        | 75    | 59     |{56,75,59} |
| 102 |  65        | 93    | 82     |{65,93,82} |
| 103 |  75        | 70    | 80     |{75,70,80} |
+-----+------------+-------+--------+-----------+

想象一下我有 ID,val1,val2和val3 列的值,我希望得到的数组在 array_3 表中,这是一个数组类型,其大小是1 * 3。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

数组构造函数?

http://sqlfiddle.com/#!12/c297a/

SELECT "ID", ARRAY[val1,val2,val3], array_3
FROM table1;

要将输出放在单独的表中,请使用CREATE TABLE .. AS

答案 1 :(得分:2)

update mytable set array_3=ARRAY[pix_val1, pix_val2]