使用参数化值进行 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中文网其他相关文章!