Go PostgreSQL LIKE クエリ
Go pq ドライバーを使用して PostgreSQL データベースにクエリを実行する場合、LIKE クエリを正しく処理する方法を理解することが重要です。発生する可能性のある問題の 1 つは、LIKE パターンにパーセント記号 (%) が含まれていることです。これにより、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`
ただし、このクエリは、パーセント記号が原因で、「pq: Go の "%" 付近で構文エラーが発生しました。」というエラーで失敗します。この問題を解決するには、次のことが必要です。 like パターン (%$1%) を一重引用符で囲みます。
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 の後の値が文字列であり、それを検索パターンとして使用する必要があることが PostgreSQL に指示されます。二重パイプ (||) 演算子と一重引用符を使用した LIKE パターンでは、クエリは pq ドライバーによって正しく解析され、LIKE 検索を実行できます。
以上がGo の PostgreSQL 用 pq ドライバーで LIKE クエリを正しく使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。