Go postgresql LIKE Query with Parameterized Value
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 中国語 Web サイトの他の関連記事を参照してください。