Heim > Backend-Entwicklung > Golang > Wie verwende ich LIKE-Abfragen mit dem pq-Treiber in Go und PostgreSQL richtig?

Wie verwende ich LIKE-Abfragen mit dem pq-Treiber in Go und PostgreSQL richtig?

Susan Sarandon
Freigeben: 2024-12-19 09:01:09
Original
746 Leute haben es durchsucht

How to Correctly Use LIKE Queries with pq Driver in Go and PostgreSQL?

Verstehen der LIKE-Abfragesyntax in Go mit PostreSQL

Beim Arbeiten mit Go und PostreSQL unter Verwendung des pq-Treibers können bei der Ausführung Syntaxfehler auftreten LIKE-Abfragen. Dieses Problem entsteht durch das %-Zeichen, das zur Darstellung ähnlicher Muster verwendet wird.

Problem:

Beim Ausführen der folgenden Abfrage tritt ein Syntaxfehler auf:

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
Nach dem Login kopieren

Lösung:

Um diesen Syntaxfehler zu beheben, müssen Sie Folgendes tun Schließen Sie das LIKE-Muster in einfache Anführungszeichen ein:

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;
Nach dem Login kopieren

In dieser überarbeiteten Abfrage schließen wir das Like-Muster %$1% in einfache Anführungszeichen ein, um zu verhindern, dass der Treiber das %-Zeichen als Platzhalter für Parameter interpretiert.

Aktualisierter Go-Code:

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`
Nach dem Login kopieren

Mit diesem Fix kann die Abfrage ausgeführt werden erfolgreich ausgeführt, ohne dass ein Syntaxfehler aufgetreten ist.

Das obige ist der detaillierte Inhalt vonWie verwende ich LIKE-Abfragen mit dem pq-Treiber in Go und PostgreSQL richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage