为了账号安全,请及时绑定邮箱和手机立即绑定

Gorm 查询格式与 `%` 中断 - “预期 0 个参数,得到 1”

Gorm 查询格式与 `%` 中断 - “预期 0 个参数,得到 1”

Go
繁星点点滴滴 2022-12-19 21:15:27
我在使用以下行查询 postgres 时收到错误“expected 0 arguments, got 1”:db = db.Where("LOWER(name) LIKE LOWER('%?%')", nameSearch)当我像这样将值硬编码到其中时,它会起作用:db = db.Where("LOWER(name) LIKE LOWER('%some-value%')")任何人都可以在这里发现我的问题,因为我有很多条件格式类似的工作,但这个,额外的%是打破。
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

快速查看文档后,您似乎应该将通配符添加到nameSearch变量中:如此处所示

db.Where("name LIKE ?", "%jin%").Find(&users)
// SELECT * FROM users WHERE name LIKE '%jin%';

那将是:

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

当然,你可以只使用"%" + nameSearch + "%"


查看完整回答
反对 回复 2022-12-19
  • 1 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信