1

这是我的旧代码:

cardinalPoints := []string{"75101", "75110", "75112", "75115", "92062"}
query = `SELECT * FROM  "DataCom_travel" WHERE ((com1 = $1 AND com2 IN ($2)) OR (com1 IN ($2) AND com2 = $1));`
err := db.Select(&dataComTravel, query, "92050", pq.Array(cardinalPoints))

如何用 pgx 做到这一点?

pgx.Array 似乎不起作用。

4

1 回答 1

3

pq.Array也可以与 pgx 一起使用。这是因为它所做的只是提供了一个sql.Scanner/driver.Valuer包装常规 go 切片的实现。这些是通用接口。

如果您不想同时导入 pgx 和 pq,您可以将pq.Array相关代码复制到您的项目中并创建您自己的版本。只要确保 pq 的许可允许这样做。

编辑:另外,只需阅读这个,它说 pgx 直接支持字符串切片映射。所以使用平原cardinalPoints应该工作。

于 2021-01-21T10:41:01.053 回答