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

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

Susan Sarandon
Susan Sarandon原创
2024-12-19 09:01:09797浏览

How to Correctly Use LIKE Queries with pq Driver in Go and PostgreSQL?

使用 PostreSQL 了解 Go 中的 LIKE 查询语法

使用 pq 驱动程序使用 Go 和 PostreSQL 时,执行时可能会遇到语法错误LIKE 查询。此问题是由用于表示类似模式的 % 字符引起的。

问题:

执行以下查询时遇到语法错误:

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 模式括在单引号中:

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% 括在单引号中,以防止驱动程序将 % 字符解释为参数的通配符.

更新了 Go 代码:

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`

有了这个修复后,查询将能够成功执行而不会遇到语法错误。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn