登录
首页 >  Golang >  Go问答

Gorm 查询格式中的 `%` 导致 "期望0个参数,得到1个"的错误

来源:stackoverflow

时间:2024-02-08 22:00:26 409浏览 收藏

哈喽!今天心血来潮给大家带来了《Gorm 查询格式中的 `%` 导致 "期望0个参数,得到1个"的错误》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我在使用以下行查询 postgres 时收到错误“预期 0 个参数,得到 1”:

659995578​​369

当我像这样将值硬编码到其中时,它会起作用:

db = db.Where("LOWER(name) LIKE LOWER('%some-value%')")

任何人都可以在这里发现我的问题,因为我有许多类似格式的条件可以工作,但是这个条件,额外的 % 正在破坏。


正确答案


快速查看文档后,您似乎应该将通配符添加到 namesearch 变量:as shown here

db.where("name like ?", "%jin%").find(&users)
// select * from 用户 where name like '%jin%';

所以那就是:

db.Where("LOWER(name) LIKE LOWER(?)", fmt.Sprintf("%%%s%%", nameSearch))

当然,你可以直接使用 "%" + namesearch + "%"

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Gorm 查询格式中的 `%` 导致 "期望0个参数,得到1个"的错误》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>