我有一张这样的表:
+-----+------------+-------+--------+-----------+
| 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。我怎么能这样做?
答案 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]