Maison >développement back-end >Golang >Comment utiliser correctement les requêtes LIKE avec le pilote pq de Go pour PostgreSQL ?
Requête Go PostgreSQL LIKE
Lors de l'interrogation d'une base de données PostgreSQL avec le pilote Go pq, il est essentiel de comprendre comment gérer correctement les requêtes LIKE. Un problème qui peut survenir est l'inclusion de signes de pourcentage (%) dans le modèle LIKE, ce qui peut entraîner des erreurs de syntaxe dans Go.
La requête originale fournie dans la question est la suivante :
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`
Cependant, cette requête échoue avec l'erreur "pq : erreur de syntaxe à ou près de "%" dans Go en raison des signes de pourcentage. Pour résoudre ce problème, il est nécessaire de mettre le modèle similaire (%$1%) dans guillemets simples :
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`
L'ajout de guillemets simples indique à PostgreSQL que la valeur après LIKE est une chaîne et qu'elle doit être utilisée comme modèle de recherche en entourant le modèle LIKE avec le double tube (||) opérateur et guillemets simples, la requête est analysée correctement par le pilote pq et la recherche LIKE peut être effectuée.
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!