Go と PostreSQL の LIKE クエリ構文を理解する
pq ドライバーを使用して Go と PostreSQL を操作する場合、実行時に構文エラーが発生する可能性がありますいいねクエリ。この問題は、類似のパターンを表すために使用される % 文字から発生します。
問題:
次のクエリの実行中に構文エラーが発生します:
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 中国語 Web サイトの他の関連記事を参照してください。