Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menggunakan Pertanyaan LIKE dengan Pemacu pq Go untuk PostgreSQL dengan betul?

Bagaimana untuk Menggunakan Pertanyaan LIKE dengan Pemacu pq Go untuk PostgreSQL dengan betul?

Linda Hamilton
Linda Hamiltonasal
2024-12-09 10:29:05500semak imbas

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

Go PostgreSQL LIKE Query

Apabila menanyakan pangkalan data PostgreSQL dengan pemacu Go pq, adalah penting untuk memahami cara mengendalikan pertanyaan LIKE dengan betul. Satu isu yang mungkin timbul ialah kemasukan tanda peratus (%) dalam corak LIKE, yang boleh membawa kepada ralat sintaks dalam Go.

Pertanyaan asal yang disediakan dalam soalan adalah seperti berikut:

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`

Walau bagaimanapun, pertanyaan ini gagal dengan ralat "pq: ralat sintaks pada atau berhampiran "%" dalam Pergi disebabkan oleh tanda peratus. Untuk menyelesaikan isu ini, ia perlu untuk menyertakan corak seperti (%$1%) dalam petikan tunggal:

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`

Menambah petikan tunggal memberitahu PostgreSQL bahawa nilai selepas LIKE ialah rentetan dan ia harus digunakan sebagai corak carian Oleh sekeliling corak LIKE dengan pengendali paip berganda (||) dan petikan tunggal, pertanyaan dihuraikan dengan betul oleh pemacu pq dan carian LIKE boleh dilakukan.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Pertanyaan LIKE dengan Pemacu pq Go untuk PostgreSQL dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn