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

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

Linda Hamilton
リリース: 2024-12-09 10:29:05
オリジナル
499 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート