查询数据库时如何将雪花数组转换为Golang中的数组
我正在使用“gosnowflake”驱动程序从我的Golang应用程序中查询雪花数据库。 雪花模式:- 名称字符串 年龄整数 LOCS阵列 戈朗代码:-查询数据库时如何将雪花数组转换为Golang中的数组,go,snowflake-cloud-data-platform,Go,Snowflake Cloud Data Platform,我正在使用“gosnowflake”驱动程序从我的Golang应用程序中查询雪花数据库。 雪花模式:- 名称字符串 年龄整数 LOCS阵列 戈朗代码:- package main import ( "database/sql" "fmt" "log" "strings" _ "github.com/snowflakedb/gosnowflake" ) type Person struct { Name string Ag
package main
import (
"database/sql"
"fmt"
"log"
"strings"
_ "github.com/snowflakedb/gosnowflake"
)
type Person struct {
Name string
Age string
Locs []string
}
var DB *sql.DB
func main() {
connString := "USER" + ":" + "PWD" + "@" + "REGION" + "/" + "TEST"
fmt.Println("DB Connection string..", connString)
DB, _ = sql.Open("snowflake", connString)
defer DB.Close()
QRY := "SELECT NAME,AGE,LOCS FROM TEST.PERSON WHERE NAME='abc'"
result, _ := DB.Query(QRY)
fmt.Println(result)
for result.Next() {
var row Person
err := result.Scan(&row.Name, &row.Age, &row.Locs)
if err != nil {
log.Fatal(err)
}
fmt.Println("Before returning..", row)
}
}
问题:-此处的问题存在于数组中的DB LOC中,但在从golang代码查询时,它会以字符串形式返回。所以这些值是
[
"XYZ",
"DEF"
]
我想要的是直接将LOCS值转换为我的golang代码中的数组。因此,在Person结构内部,它直接绑定到Loc[]string。除非gosnowflake中已经有内置的字符串数组类型,否则您可能需要实现自己的类型,该类型遵循 e、 g 那么您的
人员结构将是:
type Person struct {
Name string
Age string
Locs ArrayString
}
已经有一段时间了,但是@dks551你能找到解决这个问题的方法吗?
type Person struct {
Name string
Age string
Locs ArrayString
}