我们说我有一个postgres查询,如:
SELECT
id,
ARRAY_AGG(code) AS code
FROM
codes
WHERE id = '9252781'
GROUP BY id;
我的回报如下:
id | codes
-----------+-------------
9252781 | {H01,H02}
id
和codes
都是varchar
。
在Golang中,当我沿着行扫描结果时,它只是冻结了。没错,没什么。
答案 0 :(得分:3)
如果你正在使用github.com/lib/pq
postgres驱动程序,你可以使用他们的pq.Array辅助函数来扫描和存储postgres数组。
var id string
var arr []string
row := db.QueryRow(`SELECT '9252781', ARRAY['H01','H02']`)
if err := row.Scan(&id, pq.Array(&arr)); err != nil {
log.Fatal(err)
}
log.Println(id, arr)
// 9252781 [H01 H02]