Maison > développement back-end > Golang > Comment utiliser correctement les requêtes LIKE avec le pilote pq dans Go et PostgreSQL ?

Comment utiliser correctement les requêtes LIKE avec le pilote pq dans Go et PostgreSQL ?

Susan Sarandon
Libérer: 2024-12-19 09:01:09
original
748 Les gens l'ont consulté

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

Comprendre la syntaxe des requêtes LIKE dans Go avec PostreSQL

Lorsque vous travaillez avec Go et PostreSQL à l'aide du pilote pq, vous pouvez rencontrer des erreurs de syntaxe lors de l'exécution COMME les requêtes. Ce problème provient du caractère % utilisé pour représenter des modèles similaires.

Problème :

Vous rencontrez une erreur de syntaxe lors de l'exécution de la requête suivante :

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
Copier après la connexion

Solution :

Pour résoudre cette erreur de syntaxe, vous devez joindre le Modèle LIKE entre guillemets simples :

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;
Copier après la connexion

Dans cette requête révisée, nous encadrons le modèle similaire %$1% entre guillemets simples pour empêcher le pilote d'interpréter le caractère % comme un caractère générique pour les paramètres.

Code Go mis à jour :

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`
Copier après la connexion

Avec ce correctif, la requête pourra s'exécuter avec succès sans rencontrer l'erreur de syntaxe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal