使用 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中文网其他相关文章!