首页 > 后端开发 > Golang > 如何在 Go 的 pq PostgreSQL 驱动程序中正确使用带有参数化值的 LIKE 查询?

如何在 Go 的 pq PostgreSQL 驱动程序中正确使用带有参数化值的 LIKE 查询?

Barbara Streisand
发布: 2024-12-07 11:45:16
原创
570 人浏览过

How to Properly Use LIKE Queries with Parameterized Values in Go's pq PostgreSQL Driver?

使用参数化值进行 postgresql LIKE 查询

在 Go 中,使用 PostgreSQL 的 pq 驱动程序时,有必要确保格式正确涉及 LIKE 子句的查询。尝试使用 LIKE 运算符时遇到的常见问题是语法错误,指示百分比符号 (“%”) 处或附近的字符无效。

要解决此问题,必须将 LIKE 模式括在单个作为参数传递时使用引号。这可确保 PostgreSQL 数据库正确解释特殊字符。下面更新的查询包含此更正:

query := `SELECT p.id, p.name, p.description, p.price, p.image, p.rate
    FROM products AS p
    WHERE LOWER(p.name) LIKE '%' ||  || '%'
    ORDER BY p.rate DESC;`
登录后复制

在此查询中,LIKE 模式用单引号括起来,并使用 || 与 $1 参数连接。操作员。这可确保数据库将模式解释为字符串而不是特殊字符。

通过此修改,查询应该在 PostgreSQL 中成功执行。它将查找名称与指定模式匹配的产品,并按其评级的降序对结果进行排序。

以上是如何在 Go 的 pq PostgreSQL 驱动程序中正确使用带有参数化值的 LIKE 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板