在 PostgreSQL 查询中使用模式匹配语法的参数

huangapple go评论71阅读模式
英文:

Parameter with pattern matching syntax in a PostgreSQL query

问题

我正在编写一个使用 Golang 的程序,其中我查询 PostgreSQL 数据库。我想要使用 $1 来提供数值,并且希望进行模式匹配。

Db.Query("SELECT * FROM table WHERE name LIKE '%' || $1 || '%'", user)

它报错说:

语法错误,接近 "%"

英文:

Iam writing a golang program in which i query postgres database. I want to to use $1 to supply values and should have a pattern matching

Db.Query("SELECT * FROM table where name like %$1%", user)

it says:

> syntax error at or near "%"

答案1

得分: 2

你的语法有误,请尝试以下修改:

user := "%" + user + "%"

rows, err := Db.Query("SELECT * FROM table WHERE name LIKE $1", user)

if err != nil {
    fmt.Println(err)
}
英文:

Your syntax is wrong, try

user := "%"+user+"%"

rows, err := Db.Query("SELECT * FROM table where name like $1", user)

if err!=nil{
    fmt.Println(err)
}

huangapple
  • 本文由 发表于 2016年4月14日 18:20:32
  • 转载请务必保留本文链接:https://go.coder-hub.com/36620210.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定