Maison >développement back-end >Golang >Pourquoi ma requête Go PostgreSQL LIKE entraîne-t-elle une erreur de syntaxe ?

Pourquoi ma requête Go PostgreSQL LIKE entraîne-t-elle une erreur de syntaxe ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-09 05:41:10970parcourir

Why Does My Go PostgreSQL LIKE Query Result in a Syntax Error?

Erreur de syntaxe de requête Go PostgreSQL LIKE

Lors de l'utilisation du pilote pq pour PostgreSQL dans Go, vous pouvez rencontrer une erreur de syntaxe similaire à "pq : erreur de syntaxe à ou près de "%" lors de l'exécution d'une requête LIKE comme celle-ci :

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

Cette erreur se produit parce que vous devez citer correctement le modèle similaire dans Go. La syntaxe correcte serait :

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;

En plaçant le modèle LIKE entre guillemets simples, vous vous assurez que les caractères % sont traités comme des littéraux et non comme des guillemets simples. caractères génériques.

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!

Déclaration:
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