ホームページ >バックエンド開発 >Golang >Go の PostgreSQL 用 pq ドライバーで LIKE クエリを正しく使用するにはどうすればよいですか?

Go の PostgreSQL 用 pq ドライバーで LIKE クエリを正しく使用するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-09 10:29:05500ブラウズ

How to Correctly Use LIKE Queries with Go's pq Driver for PostgreSQL?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。