使用 psql 数组将 pq 迁移到 pgx 的问题

use*_*794 2 postgresql go pgx

这是我的旧代码:

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))
Run Code Online (Sandbox Code Playgroud)

如何使用 pgx 做到这一点?

pgx.Array 似乎不起作用。

Eze*_*uns 5

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

\n

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

\n

编辑:另外,只需阅读this,它说 pgx 直接支持字符串切片映射。所以使用 plaincardinalPoints应该可以。

\n